成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

移動(dòng)端導(dǎo)航布局(基礎(chǔ)屬性解決大問題)

Edison / 1742人閱讀

摘要:移動(dòng)端比較常見的一個(gè)需求是高度根據(jù)寬度進(jìn)行自適應(yīng)。等于視口高度的。一布局場景首頁導(dǎo)航布局有間距樣式代碼頁面布局與布局相同代碼解析去除最后一個(gè)元素值設(shè)置布局經(jīng)常會使得元素元素間莫名其妙出現(xiàn)空隙。

寫在最前:移動(dòng)端中導(dǎo)航的網(wǎng)格式布局無處無在,寬高怎么設(shè)置相適應(yīng)?元素怎么居中對齊?不同場景怎么選擇代碼最高效?巧妙使用margin、padding等基礎(chǔ)屬性,小小技巧可以解決許多煩惱!

一、Float布局 1、場景

首頁導(dǎo)航布局(無間距)

2、頁面布局

汽車票船票

3、樣式代碼
.g-grid {
    text-align: center;
    overflow: hidden; 
    background: #fff;
}
.g-grid-item {
    position: relative;
    float: left; 
    width: 20%;
    padding: 10px 0;
    text-align: center;
}
.g-grid-imgWrap {
    display: inline-block;
    width: 30%; 
    height: 0; 
    padding-bottom: 30%; 
}
.g-grid-imgWrap img {
    width: 100%;
}
.g-grid-label {
    font-size: 12px;
    color: #333;
}
4、代碼解析(高度根據(jù)寬度進(jìn)行自適應(yīng)問題)

①、父元素g-grid通過overflow: hidden建立BFC,使得整體高度從1變成自適應(yīng)。通??墒褂胏learfix來清除浮動(dòng)的副作用

 .clearfix:after{
    display: block;
    clear: both;
    content: "";
    visibility: hidden;
    height: 0;
}
.clearfix{
    zoom:1;
}

②、子元素g-grid-item通過float: left屬性浮動(dòng)起來,這也是該方法最主要的屬性。

③、移動(dòng)端比較常見的一個(gè)需求是高度根據(jù)寬度進(jìn)行自適應(yīng)。這個(gè)時(shí)候可以使用到padding-bottom。當(dāng)width和padding-bottom相等時(shí)就實(shí)現(xiàn)了寬高相等(注意要將height置為0),舉一反三,各種比例下也可以設(shè)置。

width: 30%; 
height: 0; 
padding-bottom: 30%; 

引申:vh和vw是css引入視口的概念來代替顯示器的物理尺寸,它們作為單位的時(shí)候也可實(shí)現(xiàn)該效果,雖然現(xiàn)在兼容性慢慢變好,但是Android4.4之前不支持是硬傷。
vw:1vw等于視口寬度的1%。
vh:1vh等于視口高度的1%。

height:1vw;
width:1vw;
一、Display:inline-block布局 1、場景

首頁導(dǎo)航布局(有間距)

2、樣式代碼

頁面布局與Float布局相同

.g-grid {
    margin-right: -2%;
    padding: 10px 10px 0;
    font-size: 0;
    background: #fff;
}
.g-grid-item {
    position: relative;
    display: inline-block;
    width: 31.33%;
    padding-bottom: 31.33%;
    margin-right: 2%;
    margin-bottom: 10px;
}
.g-grid-imgWrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 20px;
}
.g-grid-imgWrap img {
    width: 100%;
    height: 100%;
}
.g-grid-label {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 20px;
    line-height: 20px;
    font-size: 12px;
    color: #333;
    text-align: center;
}
3、代碼解析(去除最后一個(gè)元素margin-right值)

①、g-grid-item設(shè)置display:inline-block布局經(jīng)常會使得元素元素間莫名其妙出現(xiàn)空隙??梢栽趯懘a時(shí)使得元素和元素緊緊相連,但不太方便我們編寫代碼,IDE格式化之后也會自動(dòng)分開。此處建議設(shè)置父元素g-grid的font-size屬性為0就可以去掉空隙。

②、g-grid-item這些子元素之間需要間隔時(shí)用到margin-right(或者margin-left),經(jīng)常要處理最后一行設(shè)置為margin-right(或者margin-left)為0。有以下解決方法:

手動(dòng)或者js為最后一個(gè)元素添加一個(gè)margin-right:0

通過偽類:nth-child(3n)來設(shè)置margin-right:0

在g-grid-item的父元素設(shè)置margin-right: -2%;(推薦該方法)

樓上的float布局也可以使用該方法去設(shè)置間隙

③、寬高多少不僅僅可以通過設(shè)置值來決定,該例子里面使用以下代碼實(shí)現(xiàn)了width:100%,高度為父級高度減去20px,根據(jù)場景不同來決定寫法。

position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 20px;

④、float布局和display:inline-block布局的水平居中通常使用text-align: center;,子元素在父元素里水平居中要求子元素display不為block

三、Grid布局 1、場景

網(wǎng)格布局(無間距)

2、頁面布局

汽車票船票

3、樣式代碼
.g-grid {
    display: grid;
    grid-template-columns: repeat(3, 33.33%);
    grid-template-rows: repeat(3, 100px);
    background: #fff;
}
.g-grid-item {
    display: inline-grid;
    border-right: 1px solid #eee;
    border-top: 1px solid #eee;
    align-content: center
    justify-items: center;
}
.g-grid-item:nth-child(3n) {
    border-right: none;
}
.g-grid-item img {
    height: 30px;
    width: 30px;
}
.g-grid-label {
    font-size: 12px;
    color: #333;
}
4、代碼解析

①、grid布局通過grid-template-columns和grid-template-rows來設(shè)置幾列幾行
②、g-grid-item通過設(shè)置align-content: center;來使得子元素都處于垂直居中,justify-items: center來使得子元素都處于水平居中

四、Flex布局 1、場景

九宮格布局(有空隙)

2、樣式代碼

頁面布局與Grid布局相同請輸入代碼

.g-grid {
    display: flex;
    flex-wrap: wrap;
}
.g-grid-item {
    flex: 0 1 31.33%;
    margin: 0px 1% 10px;
    padding: 1.2rem;
    box-sizing: border-box;
    text-align: center;
    background: #eee;
}
.g-grid-item img {
    height: 30px;
    width: 30px;
}
.g-grid-label {
    font-size: 12px;
    color: #333;
}
3、代碼解析(Flex換行顯式且存在間距)

①、Flex布局通過flex-wrap: wrap;來進(jìn)行換行,但當(dāng)需要元素與元素之間存在間距時(shí),不能使用justify-content: space-between;,減少一個(gè)元素會變成下圖:

所以該例子通過margin來設(shè)置間距,這個(gè)是比較通用的方法。

@vczhan 提供了一個(gè)思路,父級為justify-content: space-between;或者justify-content: space-around;的同時(shí),加上

.g-grid::after {
  content: "";
  width: 31.33%;
}

可以解決三列下的問題,但是四或以上列下不固定個(gè)數(shù)的情況下還是不適用,請根據(jù)自己使用場景選擇方案。同理 @Ice丶Wing 提供的空div思路類似,也可以這么處理。
(再次謝謝兩位!)

②、.g-grid-item設(shè)置flex: 0 1 31.33%;意思是元素的本來大小為父元素的31.33%,空間不足時(shí)該元素將縮小,存在剩余空間也不放大。

當(dāng)該值設(shè)為flex: 1 1 31.33%;時(shí),減少一個(gè)元素會變成下圖:

尊重原創(chuàng),如需轉(zhuǎn)載請注明出處!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/116255.html

相關(guān)文章

  • CSS5:移動(dòng)頁面(響應(yīng)式)

    摘要:接下來做端一般都寫手機(jī)最大也就先隱藏手機(jī)菜單和按鈕優(yōu)先級問題解決方法直接使用用谷歌開發(fā)者工具查看優(yōu)先級里面的垂直居中再把寫成布局只要改成里面的子項(xiàng)目就變成一行了菜單導(dǎo)航導(dǎo)航導(dǎo)航導(dǎo)航導(dǎo)航到航導(dǎo)航導(dǎo)航導(dǎo)航導(dǎo)航方法切換元素的可見狀態(tài)。 CSS5:移動(dòng)端頁面(響應(yīng)式) 如果手機(jī)端和PC端頁面差別很大,就不要寫響應(yīng)式,不要寫@media 就直接將兩個(gè)頁面拆開成兩個(gè)文件就可以了.關(guān)于判斷是手機(jī)端你...

    superPershing 評論0 收藏0
  • 談?wù)勴憫?yīng)式布局

    摘要:今天在這里就略微談一下響應(yīng)式布局吧想必大家都知道響應(yīng)式布局已經(jīng)在這個(gè)移動(dòng)端為主流的時(shí)代成為了避不開的話題之一接下來我們從小到大來談?wù)勴憫?yīng)式網(wǎng)頁設(shè)計(jì)的基本原則為什么為什么需要響應(yīng)式設(shè)計(jì)想必這點(diǎn)不說大家都能想到答案現(xiàn)在是一個(gè)移動(dòng)為先的時(shí)代我們要 今天在這里就略微談一下響應(yīng)式布局吧,想必大家都知道響應(yīng)式布局已經(jīng)在這個(gè)移動(dòng)端為主流的時(shí)代成為了避不開的話題之一,接下來我們從小到大來談?wù)勴憫?yīng)式網(wǎng)頁...

    smallStone 評論0 收藏0
  • 響應(yīng)式布局入門之——側(cè)欄菜單

    摘要:年月初,中共中央國務(wù)院發(fā)布了關(guān)于構(gòu)建和諧勞動(dòng)關(guān)系的意見,明確提出切實(shí)保障職工休息休假的權(quán)利,完善并落實(shí)國家關(guān)于職工工作時(shí)間全國年節(jié)及紀(jì)念日假期帶薪年休假等規(guī)定。下一步要抓好這項(xiàng)工作的落實(shí)。 一直以來響應(yīng)式布局都是利用的bootstrap來做,但是在手機(jī)上瀏覽的話,bootstrap樣式文件還是有點(diǎn)大 118k,如果再用上一些js庫的話,上個(gè)幾百k是輕輕松松了,這樣一來用移動(dòng)流量的話真的...

    singerye 評論0 收藏0
  • 響應(yīng)式布局入門之——側(cè)欄菜單

    摘要:年月初,中共中央國務(wù)院發(fā)布了關(guān)于構(gòu)建和諧勞動(dòng)關(guān)系的意見,明確提出切實(shí)保障職工休息休假的權(quán)利,完善并落實(shí)國家關(guān)于職工工作時(shí)間全國年節(jié)及紀(jì)念日假期帶薪年休假等規(guī)定。下一步要抓好這項(xiàng)工作的落實(shí)。 一直以來響應(yīng)式布局都是利用的bootstrap來做,但是在手機(jī)上瀏覽的話,bootstrap樣式文件還是有點(diǎn)大 118k,如果再用上一些js庫的話,上個(gè)幾百k是輕輕松松了,這樣一來用移動(dòng)流量的話真的...

    AlphaWatch 評論0 收藏0
  • 超越“虛擬的美麗”——云計(jì)算實(shí)踐再分析

    摘要:云計(jì)算在年月達(dá)到了較高的點(diǎn)擊率次。而大數(shù)據(jù)正處于上升期,云計(jì)算正處于興旺期,網(wǎng)格計(jì)算沒有再出現(xiàn)。所以,我們第四屆中國云計(jì)算大會就是以示范引領(lǐng)創(chuàng)新實(shí)踐作為一個(gè)口號。就是說云計(jì)算已經(jīng)成為行業(yè)的主旋律,不再動(dòng)搖不再懷疑。 云計(jì)算正在走向成熟,大數(shù)據(jù)正在發(fā)展 在經(jīng)歷了對云計(jì)算的認(rèn)識以后,已經(jīng)成為當(dāng)前信息通信行業(yè)的主旋律。我們可以用維基百科看一看當(dāng)前對三個(gè)重要技術(shù)概念的理解。一個(gè)是曾經(jīng)人們跟云計(jì)算混...

    tulayang 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<