最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS3彈性伸縮布局之box布局

  發(fā)布時(shí)間:2016-07-12 15:37:29   作者:佚名   我要評(píng)論
這篇文章主要為大家詳細(xì)介紹了CSS3彈性伸縮布局之box布局,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

CSS3彈性伸縮布局簡(jiǎn)介

2009年,W3C提出了一種嶄新的方案----Flex布局(即彈性伸縮布局),它可以簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁(yè)面布局,包括一直讓人很頭疼的垂直水平居中也變得很簡(jiǎn)單地就迎刃而解了。但是這個(gè)布局方式還處于W3C的草案階段,并且它還分為舊版本、新版本以及混合過(guò)渡版本三種不同的編碼方式。其中混合過(guò)渡版本主要是針對(duì)IE10做了兼容。目前flex布局用得比較多的還是在移動(dòng)端的布局,所以本次主要講解一下舊版本和新版本在移動(dòng)端使用的各個(gè)知識(shí)點(diǎn),讓大家對(duì)神秘的flex布局熟悉起來(lái)。

舊版本(box)

首先看一下瀏覽器兼容情況:

PS:瀏覽器兼容數(shù)據(jù)不一定很準(zhǔn)確,不過(guò)相差不大。

下面將通過(guò)一個(gè)簡(jiǎn)單的實(shí)例來(lái)講解舊版本的各個(gè)屬性:

html代碼:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div>  
  2.     <p>發(fā)生過(guò)的空間還是看價(jià)格哈健康啊水果和卡刷卡更何況規(guī)劃哈薩空給</p>  
  3.     <p>發(fā)生過(guò)的空間還是看價(jià)格哈健康啊水果和卡刷卡更何況規(guī)劃哈薩</p>  
  4.     <p>發(fā)生過(guò)的空間還是看價(jià)格哈健康啊水果和卡刷卡更何況規(guī)劃</p>  
  5. </div>  

可以看到我們這個(gè)例子是很簡(jiǎn)單的,一個(gè)div元素內(nèi)包含三個(gè)p元素,它們都是塊元素(block)。接下來(lái)給段落加一些基礎(chǔ)的樣式:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. p{   
  2.     width:150px;   
  3.     border:3px solid lightblue;   
  4.     background:lightgreen;   
  5.     padding:5px;   
  6.     margin:5px;   
  7. }  

此時(shí)刷新網(wǎng)頁(yè)看到的結(jié)果是這樣的:

這個(gè)結(jié)果很正常吧!OK,現(xiàn)在我們給div元素設(shè)置為box,看看有什么變化:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4. }  

我們?cè)俅嗡⑿戮W(wǎng)頁(yè),結(jié)果是這樣的:

看到了吧,現(xiàn)在每一個(gè)p元素都變成一個(gè)box了,這就是彈性布局的神奇所在!

在上面中,我們將div元素的display設(shè)置為box,這就是舊版本的彈性布局。對(duì)于比較舊的瀏覽器版本,我們需要加上-webkit-前綴。

舊版本的彈性布局有兩個(gè)屬性值:

box : 將容器盒模型作為塊級(jí)彈性伸縮盒顯示 inline-box : 將容器盒模型作為內(nèi)聯(lián)級(jí)彈性伸縮盒顯示

PS:我們知道塊級(jí)它是占用整行的,比如div元素;而內(nèi)聯(lián)級(jí)不占用整行,比如span元素。但是我們?cè)O(shè)置了整個(gè)盒子,他們都不占用,保持一致。就像我們上面的例子一樣,給div元素設(shè)置了盒子,那么div元素里面的p元素就不占用了。

下面介紹舊版本彈性布局的各個(gè)屬性:

box-orient 屬性

box-orient屬性主要實(shí)現(xiàn)盒子內(nèi)部元素的流動(dòng)方向。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-orient:vertical;   
  5.     box-orient:vertical;   
  6. }  

此時(shí)的結(jié)果就是垂直排列:

此屬性的屬性值有:

horizontal : 伸縮項(xiàng)目從左到右水平排列 vertical : 伸縮項(xiàng)目從上到下垂直排列inline-axis : 伸縮項(xiàng)目沿著內(nèi)聯(lián)軸排列顯示block-axis : 伸縮項(xiàng)目沿著塊軸排列顯示

大家不妨試一下:horizontal 和 inline-axis 都是水平排列,而vertical 和 block-axis 都是垂直排列。

box-direction屬性

box-direction 屬性主要是設(shè)置伸縮容器中的流動(dòng)順序。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-direction:reverse;   
  5.     box-direction:reverse;   
  6. }  

這樣我們的排序就是反序的了,運(yùn)行結(jié)果為:

此屬性的屬性值有:

normal : 正常順序,默認(rèn)值 reverse : 反序

box-pack屬性

box-pack 屬性用于伸縮項(xiàng)目的分布方式。

此屬性的屬性值有:

start : 伸縮項(xiàng)目以起始點(diǎn)靠齊 end : 伸縮項(xiàng)目以結(jié)束點(diǎn)靠齊 center : 伸縮項(xiàng)目以中心點(diǎn)靠齊 justify : 伸縮項(xiàng)目平局分布

下面我們都試一下各個(gè)屬性值的效果:

1.start屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     -webkit-box-pack:start;   
  3.     box-pack:start;   
  4. }  

這個(gè)就是默認(rèn)靠齊方式:

2.end屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     -webkit-box-pack:   
  3. end   
  4. ;   
  5.     box-pack:   
  6. end   
  7. ;   
  8. }  

這個(gè)就是以結(jié)束點(diǎn)靠齊:

3.center屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     -webkit-box-pack:   
  3. center   
  4. ;   
  5.     box-pack:   
  6. center   
  7. ;   
  8. }  

這就是居中對(duì)齊效果:

4.justify屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     -webkit-box-pack:   
  3. justify   
  4. ;   
  5.     box-pack:   
  6. justify   
  7. ;   
  8. }  

這個(gè)就是平均分布效果:

PS:垂直方向上也是一樣的原理,但如果height為auto的話,效果將出不來(lái)。所以需要給height設(shè)置一個(gè)定高(最好比默認(rèn)情況高)。這時(shí),就能看到在垂直方向上的效果了。這里我就不再贅述了。

box-align屬性

box-align 屬性用來(lái)處理伸縮容器的額外空間。

此屬性的屬性值有:

start : 伸縮項(xiàng)目以頂部為基準(zhǔn),清理下部額外空間 end : 伸縮項(xiàng)目以底部為基準(zhǔn),清理上部額外空間 center : 伸縮項(xiàng)目以中部為基準(zhǔn),平均清理上下部額外空間baseline : 伸縮項(xiàng)目以基線為基準(zhǔn),清理額外的空間stretch : 伸縮項(xiàng)目填充整個(gè)容器,默認(rèn)值

同樣的,我們將試一下每個(gè)屬性值的效果:

1.start屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-align:start;   
  5.     box-align:start;   
  6. }  

效果如下:

2.end屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-align:   
  5. end   
  6. ;   
  7.     box-align:   
  8. end   
  9. ;   
  10. }  

效果如下:

3.center屬性值

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-align:   
  5. center   
  6. ;   
  7.     box-align:   
  8. center   
  9. ;   
  10. }  

效果如下:

4.baseline屬性值

如果box-orient是內(nèi)嵌單軸或橫向,所有的子元素都置于他們的基線對(duì)齊。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-orient:horizontal;   
  5.     box-orient:horizontal;   
  6.     -webkit-box-align:baseline;   
  7.     box-align:baseline;   
  8. }   

效果如下:

而如果box-orient是塊軸或者垂直方向的,那么所有的子元素都將居中垂直排列。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-orient:   
  5. vertical   
  6. ;   
  7.     box-orient:vertical;   
  8.     -webkit-box-align:baseline;   
  9.     box-align:baseline;   
  10. }  

效果如下:

5.stretch屬性值

所有子元素拉伸以填充包含區(qū)塊。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     -webkit-box-align:   
  5. stretch   
  6. ;   
  7.     box-align:   
  8. stretch   
  9. ;   
  10. }  

效果如下:

box-flex屬性

box-flex 屬性可以使用浮點(diǎn)數(shù)分配伸縮項(xiàng)目的比例。此屬性是給容器內(nèi)的項(xiàng)目設(shè)置的,它們會(huì)基于父容器的寬度來(lái)分配它們所占的比例:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. p:nth-child(1){   
  2.     -webkit-box-flex:1;   
  3.     box-flex:1;   
  4. }   
  5. p:nth-child(2){   
  6.     -webkit-box-flex:3;   
  7.     box-flex:3;   
  8. }   
  9. p:nth-child(3){   
  10.     -webkit-box-flex:1;   
  11.     box-flex:1;   
  12. }  

效果如下:

當(dāng)然也可以有些項(xiàng)目是固定寬度的,那么其他的項(xiàng)目也會(huì)分配剩余的寬度,比如這里第一個(gè)p元素設(shè)置為固定寬度:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. p:nth-child(2){   
  2.     -webkit-box-flex:2;   
  3.     box-flex:2;   
  4. }   
  5. p:nth-child(3){   
  6.     -webkit-box-flex:1;   
  7.     box-flex:1;   
  8. }  

效果如下:

更多使用情況,大家可以自己慢慢去嘗試。

box-ordinal-group 屬性

box-ordinal-group 屬性可以設(shè)置伸縮項(xiàng)目的顯示位置。

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. p:nth-child(1){   
  2.     -webkit-box-ordinal-group:2;   
  3.     box-ordinal-group:2;   
  4. }   
  5. p:nth-child(2){   
  6.     -webkit-box-ordinal-group:3;   
  7.     box-ordinal-group:3;   
  8. }   
  9. p:nth-child(3){   
  10.     -webkit-box-ordinal-group:1;   
  11.     box-ordinal-group:1;   
  12. }  

效果如下:

可以看到:第一個(gè)p元素排在了第二,第二個(gè)p元素排在了第三,第三個(gè)p元素排在了第一??梢詥为?dú)給某一個(gè)p元素設(shè)置此屬性,其他項(xiàng)目會(huì)按照原來(lái)的順序做變動(dòng)。

OK,那么舊版本的所有屬性就簡(jiǎn)單的介紹完了,更多結(jié)合的用法還是根據(jù)需要自己多動(dòng)手去練習(xí)一下。

這里舉一個(gè)水平垂直居中的例子:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. div{   
  2.     display:-webkit-box;   
  3.     display:box;   
  4.     height:500px;   
  5.     border:1px solid #f00;   
  6.     -webkit-box-pack:center;   
  7.     box-pack:center;   
  8.     -webkit-box-align:center;   
  9.     box-align:center;   
  10. }  

那么效果就是這樣的了:

此時(shí)我們?cè)俳op元素設(shè)置一個(gè)固定的高度:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. p{   
  2.     width:150px;   
  3.     height:200px;   
  4. }  

那么這時(shí)的效果就是:

是不是很輕松就實(shí)現(xiàn)了這種效果呢!

小結(jié)

好的,到這里舊版本的彈性布局基礎(chǔ)知識(shí)點(diǎn)就都介紹了一下。由于篇幅過(guò)長(zhǎng),怕大家看著疲勞,新版本的彈性布局(flex)我將放在下一篇介紹。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

原文出處:http://www.cnblogs.com/jr1993/p/4751410.html

相關(guān)文章

  • 純CSS3彈性框布局實(shí)現(xiàn)的漸變色波動(dòng)列動(dòng)畫效果源碼

    這是一款基于純CSS3彈性框布局實(shí)現(xiàn)的漸變色波動(dòng)列動(dòng)畫效果源碼。畫面中的5塊漸變色區(qū)域連續(xù)排列在一起,并呈現(xiàn)出此消彼漲的彈性波動(dòng)變換動(dòng)畫效果
    2018-08-07
  • css flex 彈性布局詳解

    這篇文章主要介紹了css flex 彈性布局詳解的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-02
  • CSS3彈性布局內(nèi)容對(duì)齊(justify-content)屬性使用詳解

    這篇文章主要介紹了CSS3彈性布局內(nèi)容對(duì)齊(justify-content)屬性使用詳解,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-07-31
  • 實(shí)例講解CSS3中的box-flex彈性盒屬性布局

    flex布局毫無(wú)疑問(wèn)是當(dāng)今Web頁(yè)面的最強(qiáng)大布局方式,box-flex彈性盒模型是其中的一個(gè)代表,這里我們就來(lái)以實(shí)例講解CSS3中的box-flex彈性盒模型布局
    2023-06-22
  • CSS3彈性盒模型flex box快速入門心得(必看篇)

    下面小編就為大家?guī)?lái)一篇CSS3彈性盒模型flex box快速入門心得(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-24
  • 幾個(gè)CSS3的flex彈性盒模型布局的簡(jiǎn)單例子演示

    這篇文章主要介紹了幾個(gè)CSS3的flex彈性盒模型布局的簡(jiǎn)單例子演示,flex布局是迄今為止最強(qiáng)大的web布局方式,需要的朋友可以參考下
    2016-05-12
  • 基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例

    這篇文章主要介紹了基礎(chǔ)的CSS3彈性盒Flexbox布局使用實(shí)例,文中最后也提到了解決兼容性問(wèn)題的基本方法,需要的朋友可以參考下
    2016-04-08
  • CSS中的EM屬性之彈性布局

    這篇教程將引導(dǎo)大家如何使用“em”來(lái)創(chuàng)建一個(gè)基本的彈性布局,從而學(xué)習(xí)其如何計(jì)算?又是如何使用“em”對(duì)層進(jìn)行彈性擴(kuò)展?又是如何擴(kuò)展文本和圖像等內(nèi)容?下在我們就一起帶
    2013-04-07
  • CSS3 Flex 彈性布局實(shí)例代碼詳解

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

最新評(píng)論

郯城县| 桐城市| 泗洪县| 玛沁县| 永靖县| 怀仁县| 航空| 五寨县| 青冈县| 绥江县| 乐山市| 洛扎县| 潜山县| 时尚| 砚山县| 三明市| 高雄市| 九龙县| 肥东县| 油尖旺区| 嵩明县| 镇平县| 白沙| 南平市| 济南市| 新营市| 辉县市| 宜君县| 贺兰县| 清流县| 南乐县| 合川市| 孟连| 绥滨县| 丹江口市| 南宁市| 鄯善县| 潞城市| 锡林郭勒盟| 上栗县| 乡城县|