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

CSS實(shí)現(xiàn)等分布局的4種方式

  發(fā)布時(shí)間:2016-05-04 08:58:24   作者:佚名   我要評(píng)論
這篇文章主要為大家詳細(xì)介紹了CSS實(shí)現(xiàn)等分布局的4種方式,等分布局是指子元素平均分配父元素寬度的布局方式,本文將介紹實(shí)現(xiàn)等分布局的4種方式,感興趣的小伙伴們可以參考一下

等分布局是指子元素平均分配父元素寬度的布局方式,本文將介紹實(shí)現(xiàn)等分布局的4種方式

思路一: float

缺點(diǎn):結(jié)構(gòu)和樣式存在耦合性,IE7-瀏覽器下對(duì)寬度百分比取值存在四舍五入的誤差

【1】float + padding + background-clip

使用padding來實(shí)現(xiàn)子元素之間的間距,使用background-clip使子元素padding部分不顯示背景

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     margin-right: -20px;   
  8.     overflowhidden;   
  9. }   
  10. .child{   
  11.     floatleft;   
  12.     height100px;   
  13.     width: 25%;   
  14.     padding-right20px;   
  15.     box-sizing: border-box;   
  16.     background-clipcontent-box;   
  17. }   
  18. </style>   
  19.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: lightblue;">1</div>  
  4.         <div class="child" style="background-color: lightgreen;">2</div>  
  5.         <div class="child" style="background-color: lightsalmon;">3</div>  
  6.         <div class="child" style="background-color: pink;">4</div>                   
  7.     </div>       
  8. </div>  
  9.   

【2】float + margin + calc

使用margin實(shí)現(xiàn)子元素之間的間距,使用calc()函數(shù)計(jì)算子元素的寬度

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     overflowhidden;   
  8.     margin-right: -20px;   
  9. }   
  10. .child{   
  11.     floatleft;   
  12.     height100px;   
  13.     width: calc(25% - 20px);   
  14.     margin-right20px;   
  15. }   
  16. </style>  
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: lightblue;">1</div>  
  4.         <div class="child" style="background-color: lightgreen;">2</div>  
  5.         <div class="child" style="background-color: lightsalmon;">3</div>  
  6.         <div class="child" style="background-color: pink;">4</div>                   
  7.     </div>       
  8. </div>  
  9.   

【3】float + margin + (fix)

使用margin實(shí)現(xiàn)子元素之間的間距,通過增加結(jié)構(gòu)來實(shí)現(xiàn)兼容

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     overflowhidden;   
  8.     margin-right: -20px;   
  9. }   
  10. .child{   
  11.     floatleft;   
  12.     width: 25%;   
  13. }   
  14. .in{   
  15.     margin-right20px;   
  16.     height100px;   
  17. }   
  18. </style>   
  19.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: blue;">  
  4.             <div class="in" style="background-color: lightblue;">1</div>  
  5.         </div>  
  6.         <div class="child" style="background-color: green;">  
  7.             <div class="in" style="background-color: lightgreen;">2</div>  
  8.         </div>  
  9.         <div class="child" style="background-color: orange;">  
  10.             <div class="in" style="background-color: lightsalmon;">3</div>  
  11.         </div>  
  12.         <div class="child" style="background-color: red;">  
  13.             <div class="in" style="background-color: pink;">4</div>  
  14.         </div>                   
  15.     </div>       
  16. </div>  
  17.   

思路二: inline-block

缺點(diǎn):需要設(shè)置垂直對(duì)齊方式vertical-align,則需要處理?yè)Q行符解析成空格的間隙問題。IE7-瀏覽器不支持給塊級(jí)元素設(shè)置inline-block屬性,兼容代碼是display:inline;zoom:1;

【1】inline-block + padding + background-clip

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     font-size: 0;   
  8.     margin-right: -20px;   
  9.     overflowhidden;   
  10. }   
  11. .child{   
  12.     display:inline-block;   
  13.     vertical-aligntop;   
  14.     width: 25%;   
  15.     padding-right20px;   
  16.     box-sizing: border-box;   
  17.     background-clipcontent-box;   
  18.     font-size16px;   
  19. }   
  20. </style>   
  21.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: lightblue;">1</div>  
  4.         <div class="child" style="background-color: lightgreen;">2</div>  
  5.         <div class="child" style="background-color: lightsalmon;">3</div>  
  6.         <div class="child" style="background-color: pink;">4</div>                   
  7.     </div>       
  8. </div>  
  9.   

【2】inline-block + margin + calc

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     margin-right: -20px;   
  8.     font-size: 0;   
  9. }   
  10. .child{   
  11.     displayinline-block;   
  12.     vertical-aligntop;   
  13.     font-size16px;   
  14.     height100px;   
  15.     width: calc(25% - 20px);   
  16.     margin-right20px;   
  17. }   
  18. </style>   
  19.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: lightblue;">1</div>  
  4.         <div class="child" style="background-color: lightgreen;">2</div>  
  5.         <div class="child" style="background-color: lightsalmon;">3</div>  
  6.         <div class="child" style="background-color: pink;">4</div>                   
  7.     </div>       
  8. </div>  
  9.   

 【3】inline-block + margin + (fix)

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     margin-right: -20px;   
  8.     font-size: 0;   
  9. }   
  10. .child{   
  11.     displayinline-block;   
  12.     vertical-aligntop;   
  13.     font-size16px;   
  14.     width: 25%;   
  15. }   
  16. .in{   
  17.     margin-right20px;   
  18.     height100px;   
  19. }   
  20. </style>   
  21.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: blue;">  
  4.             <div class="in" style="background-color: lightblue;">1</div>  
  5.         </div>  
  6.         <div class="child" style="background-color: green;">  
  7.             <div class="in" style="background-color: lightgreen;">2</div>  
  8.         </div>  
  9.         <div class="child" style="background-color: orange;">  
  10.             <div class="in" style="background-color: lightsalmon;">3</div>  
  11.         </div>  
  12.         <div class="child" style="background-color: red;">  
  13.             <div class="in" style="background-color: pink;">4</div>  
  14.         </div>                   
  15.     </div>       
  16. </div>  
  17.   

思路三: table

缺點(diǎn):元素被設(shè)置為table后,內(nèi)容撐開寬度。若要兼容IE7-瀏覽器,需要改為<table>結(jié)構(gòu)。table-cell元素?zé)o法設(shè)置margin,設(shè)置padding及background-clip也不可行

【1】table + margin負(fù)值

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parentWrap{   
  4.     overflowhidden;   
  5. }   
  6. .parent{   
  7.     display: table;   
  8.     width: calc(100% + 20px);   
  9.     table-layoutfixed;   
  10. }   
  11. .child{   
  12.     displaytable-cell;   
  13.     height100px;   
  14.     padding-right20px;   
  15. }   
  16. </style>   
  17.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parentWrap">  
  2.     <div class="parent" style="background-color: lightgrey;">  
  3.         <div class="child" style="background-color: blue;">  
  4.             <div class="in" style="background-color: lightblue;">1</div>  
  5.         </div>  
  6.         <div class="child" style="background-color: green;">  
  7.             <div class="in" style="background-color: lightgreen;">2</div>  
  8.         </div>  
  9.         <div class="child" style="background-color: orange;">  
  10.             <div class="in" style="background-color: lightsalmon;">3</div>  
  11.         </div>  
  12.         <div class="child" style="background-color: red;">  
  13.             <div class="in" style="background-color: pink;">4</div>  
  14.         </div>                   
  15.     </div>       
  16. </div>  
  17.     


【2】table + 兄弟選擇器

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parent{   
  4.     display: table;   
  5.     width: 100%;   
  6.     table-layoutfixed;   
  7. }   
  8. .child{   
  9.     displaytable-cell;   
  10.     height100px;   
  11. }   
  12. .child + .child{   
  13.     padding-left20px;   
  14. }   
  15. </style>   
  16.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parent" style="background-color: lightgrey;">  
  2.     <div class="child" style="background-color: blue;">  
  3.         <div class="in" style="background-color: lightblue;">1</div>  
  4.     </div>  
  5.     <div class="child" style="background-color: green;">  
  6.         <div class="in" style="background-color: lightgreen;">2</div>  
  7.     </div>  
  8.     <div class="child" style="background-color: orange;">  
  9.         <div class="in" style="background-color: lightsalmon;">3</div>  
  10.     </div>  
  11.     <div class="child" style="background-color: red;">  
  12.         <div class="in" style="background-color: pink;">4</div>  
  13.     </div>                   
  14. </div>       
  15.     

思路四: flex

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <style>   
  2. body,p{margin: 0;}   
  3. .parent{   
  4.     display: flex;   
  5. }   
  6. .child{   
  7.     flex:1;   
  8.     height100px;   
  9. }   
  10. .child + .child{   
  11.     margin-left20px;   
  12. }   
  13. </style>   
  14.   
XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <div class="parent" style="background-color: lightgrey;">  
  2.     <div class="child" style="background-color: lightblue;">1</div>  
  3.     <div class="child" style="background-color: lightgreen;">2</div>  
  4.     <div class="child" style="background-color: lightsalmon;">3</div>  
  5.     <div class="child" style="background-color: pink;">4</div>                   
  6. </div>     
  7.   

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

本文鏈接:http://www.cnblogs.com/xiaohuochai/p/5456695.html

相關(guān)文章

  • CSS超出文本指定寬度用省略號(hào)代替和文本不換行

    這篇文章主要介紹了CSS超出文本指定寬度用省略號(hào)代替和文本不換行的相關(guān)資料,小編覺的實(shí)用性非常,特此分享到腳本之家平臺(tái),供大家參考
    2016-05-05
  • CSS3鼠標(biāo)懸停圖片上顯示文字描述特效源碼

    CSS3鼠標(biāo)懸停圖片上顯示文字描述特效源碼是一款當(dāng)鼠標(biāo)滑過圖片時(shí),圖片平滑向上移動(dòng),下方的圖片描述信息被顯示出來。需要的朋友前來下載源碼
    2016-05-05
  • CSS 的簡(jiǎn)寫【新手必看】

    下面小編就為大家?guī)硪黄狢SS 的簡(jiǎn)寫【新手必看】。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-04
  • 淺析CSS等高布局的6種方式

    下面小編就為大家?guī)硪黄獪\析CSS等高布局的6種方式。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-04
  • CSS3 Animation 制作動(dòng)畫點(diǎn)擊波效果代碼

    CSS3 Animation 制作動(dòng)畫點(diǎn)擊波效果代碼是一款使用CSS3 animation動(dòng)畫來制作點(diǎn)擊波效果,可以在按鈕和圖片等元素上制作點(diǎn)擊波特效。需要的朋友前來下載源碼
    2016-05-04
  • CSS中height和min-height的區(qū)別

    這篇文章主要為大家詳細(xì)介紹了CSS中height和min-height的區(qū)別,從簡(jiǎn)單實(shí)例出發(fā)為大家進(jìn)行分析,感興趣的小伙伴們可以參考一下
    2016-05-04
  • CSS三列布局的多種表現(xiàn)形式

    本文為大家詳細(xì)介紹三列布局,分為兩側(cè)定寬中間自適應(yīng)、兩列定寬一側(cè)自適應(yīng)、中間定寬兩側(cè)自適應(yīng)、一側(cè)定寬兩列自適應(yīng)和三列自適應(yīng)五種情況,感興趣的小伙伴們可以參考一下
    2016-05-04
  • 網(wǎng)頁(yè)中時(shí)光軸CSS實(shí)現(xiàn)

    這篇文章為大家分享了CSS網(wǎng)頁(yè)中時(shí)光軸的簡(jiǎn)單實(shí)現(xiàn)方法,記錄每個(gè)時(shí)間段、時(shí)間點(diǎn)所發(fā)生的事情,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-04
  • 一些常被你忽略的CSS小知識(shí)【必看】

    下面小編就為大家?guī)硪黄恍┏1荒愫雎缘腃SS小知識(shí)【必看】。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-06

最新評(píng)論