欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

實(shí)例講解CSS3中的box-flex彈性盒屬性布局

rainleaves   發(fā)布時(shí)間:2023-06-22 04:45:32   作者:雨打浮萍   我要評(píng)論
flex布局毫無(wú)疑問(wèn)是當(dāng)今Web頁(yè)面的最強(qiáng)大布局方式,box-flex彈性盒模型是其中的一個(gè)代表,這里我們就來(lái)以實(shí)例講解CSS3中的box-flex彈性盒模型布局

box-flex是css3新添加的盒子模型屬性,它的出現(xiàn)打破了我們經(jīng)常使用的浮動(dòng)布局,實(shí)現(xiàn)垂直等高、水平均分、按比例劃分。但是它有一定的局限性,在firefox、chrome這瀏覽器下需要使用它們的私有屬性來(lái)定義:firefox(-moz)、chrome(-webkit)。

一、box-flex屬性

box-flex主要讓子容器針對(duì)父容器的寬度按一定規(guī)則進(jìn)行劃分。

<div?class="box"> ??
?<div?class="col_1">111</div> ??
?<div?class="col_2">222</div> ??
?<div?class="col_3">333</div> ??
</div> ??
<style?type="text/css"> ??
.box?{ ??
?display:box; ??
?display:-webkit-box; ??
?display:-moz-box; ??
?background-color:#fff; ??
?width:500px; ??
?height:100px; ??
?border:1px?solid?#333; ??
?margin:0?auto; ??
} ??
.col_1?{ ??
?box-flex:1; ??
?-moz-box-flex:1; ??
?-webkit-box-flex:1; ??
?background-color:#ffc; ??
} ??
.col_2?{ ??
?background-color:#ccf; ??
?box-flex:2; ??
?-moz-box-flex:2; ??
?-webkit-box-flex:2; ??
} ??
.col_3?{ ??
?background-color:#fcf; ??
?box-flex:2; ??
?-moz-box-flex:2; ??
?-webkit-box-flex:2; ??
} ??
</style>??

201669113611192.jpg (515×114)

注意:

父容器必須定義為display:box,其子容器才可以進(jìn)行劃分(如果定了display:box則該容器為內(nèi)聯(lián)元素,使用margin:0 auto讓其居中在firefox下無(wú)效,需要通過(guò)父容器的text-align:center;來(lái)控制。但在chrome下是可以的)
上面所講到的例子中,三個(gè)子塊分別設(shè)置了1、2、2,也就是把這個(gè)父容器分成5份,分別占據(jù)了父結(jié)構(gòu)寬度的1/5(100px)、2/5(200px)、2/5(200px)。
以上是按比例數(shù)來(lái)進(jìn)行劃分的,如果其中一個(gè)或多個(gè)子容器設(shè)置了固定寬度,其它子容器沒(méi)有設(shè)置,那么設(shè)置寬度的按寬度來(lái)算,剩下的部分再按上面的方法來(lái)計(jì)算。

.col_3?{ ??
?background-color:#fcf; ??
?width:50px;/*設(shè)置寬度為50px*/??
}?

201669113657401.jpg (517×115)

當(dāng)子容器中需要有間隔的時(shí)候,他們平分的寬度需要減去中間的margin,然后再按比例平分。

.col_2?{ ??
?background-color:#ccf; ??
?box-flex:2; ??
?-moz-box-flex:2; ??
?-webkit-box-flex:2; ??
?margin:0?20px; ??
}??

201669113719197.jpg (519×114)

二、box屬性

上面講到的是如何將box-flex如何對(duì)父容器的寬度進(jìn)行劃分,現(xiàn)在來(lái)說(shuō)一下父容器里面的box屬性包括哪些。

box-orient, box-direction, box-align, box-pack, box-lines

1、box-orient

box-orient用來(lái)確定父容器里子容器的排列方式是水平還是垂直,可選屬性如下:
horizontal | vertical | inline-axis | block-axis | inherit
horizontal和inline-axis屬性其效果表現(xiàn)一致,都可以將容器水平排列,在默認(rèn)情況下也呈現(xiàn)水平排列的樣式。當(dāng)父容器設(shè)置高度時(shí),在firefox下面其子容器的高度無(wú)效,但chrome下面則有效。

.col_1 {   
 height:50px;   
}   
.col_2 {   
 height:80px;   
}

201669113803283.jpg (519×116)

如果你容器不設(shè)置高度,子容器的高度值才生效,在firefox下面他們的高度取其中的最大值。而chrome下面設(shè)置高度的子容器為自己的高度,未設(shè)置的其高度和最大值的高度一樣,其實(shí)就是和父容器的高度一致。

.box?{ ??
?/*未設(shè)置高度*/??
} ??
.col_1?{ ??
?height:50px; ??
} ??
.col_2?{ ??
?height:80px; ??
} ??
.col_3?{ ??
?/*未設(shè)置高度*/??
}??

201669113829855.jpg (517×119)201669113843727.jpg (519×114)

vertical和block-axis屬性效果表現(xiàn)一致,都可將子容器垂直排列。他們是對(duì)父容器的高度進(jìn)行分配。如果子容器設(shè)置了寬度,也是谷歌下面有效,火狐無(wú)效,其它都與horizontal表現(xiàn)一致。

201669113904619.jpg (517×138)201669113926651.jpg (521×133)

2、box-direction

box-direction用來(lái)確定父容器里面的子容器排列順序,具有以下屬性:
normal | reverse | inherit
normal是默認(rèn)值,如上面測(cè)試結(jié)果。
reverse表示反轉(zhuǎn),其表現(xiàn)方式跟normal相反,呈現(xiàn)為3、2、1
201669113951921.jpg (520×120)

3、box-align

box-align表示父容器里面子容器的垂直對(duì)齊方式,屬性值為:
start | end | center | baseline | stretch
start、baseline展示效果
201669114009719.jpg (528×114)

end展示效果
201669114037531.jpg (524×120)

center展示效果
201669114053675.jpg (520×113)

stretch展示效果,(谷歌下面如start)
201669114126922.jpg (519×119)

4、box-pack

box-pack表示父容器里面子容器的水平對(duì)齊方式,可選參數(shù)如下所示:
start | end | center | justify

css代碼

.box?{ ??
?display:box; ??
?display:-webkit-box; ??
?display:-moz-box; ??
?background-color:#fff; ??
?width:500px; ??
?border:1px?solid?#333; ??
?margin:0?auto; ??
?height:100px; ??
?-webkit-box-pack:start; ??
?-moz-box-pack:start; ??
?box-pack:start; ??
} ??
.col_1,.col_2,.col_3{ ??
?width:100px; ??
}??

start:在box-pack表示水平居左對(duì)齊,如下所示:

201669114205803.jpg (516×113)

end:在box-pack表示水平居右對(duì)齊,如下圖所示

201669114227915.jpg (518×117)

center:在box-pack表示水平居中對(duì)齊,如下圖所示

201669114251271.jpg (518×115)

justify:在box-pack表示兩邊對(duì)齊試

相關(guān)文章

  • 10分鐘理解CSS3 FlexBox彈性布局

    這篇文章主要介紹了10分鐘理解CSS3 FlexBox彈性布局的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-20
  • CSS3 Flex 彈性布局實(shí)例代碼詳解

    這篇文章主要介紹了CSS3 Flex 彈性布局實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-01
  • css flex 彈性布局詳解

    這篇文章主要介紹了css flex 彈性布局詳解的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-02
  • CSS3彈性盒模型flex box快速入門(mén)心得(必看篇)

    下面小編就為大家?guī)?lái)一篇CSS3彈性盒模型flex box快速入門(mén)心得(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-24
  • 基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例

    這篇文章主要介紹了基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例,文中最后也提到了解決兼容性問(wèn)題的基本方法,需要的朋友可以參考下
    2016-04-08
  • flex彈性盒布局最后一行左對(duì)齊的實(shí)現(xiàn)思路

    這篇文章主要介紹了flex彈性盒布局最后一行左對(duì)齊的實(shí)現(xiàn)思路,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-08

最新評(píng)論