亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

html+css 清除浮動的相關(guān)技巧心得

  發(fā)布時間:2016-03-17 16:40:36   作者:佚名   我要評論
下面小編就為大家?guī)硪黄猦tml+css 清除浮動的相關(guān)技巧心得。小編覺得挺不錯的,現(xiàn)在分享給大家,給大家一個參考

浮動會使當(dāng)前標(biāo)簽產(chǎn)生向上浮的效果,同時會影響到前后標(biāo)簽、父級標(biāo)簽的位置及 width height 屬性。而且同樣的代碼,在各種瀏覽器中顯示效果也有可能不相同,這樣讓清除浮動更難了。解決浮動引起的問題有多種方法,但有些方法在瀏覽器兼容性方面還有問題。

下面總結(jié)8種清除浮動的方法(測試已通過 ie chrome firefox opera,后面三種方法只做了解就可以了):

1,父級div定義 height 

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">       
  2. .div1{background:#000080;border:1px solid red;/*解決代碼*/height:200px;}       
  3. .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}       
  4. .left{float:left;width:20%;height:200px;background:#DDD}       
  5. .right{float:right;width:30%;height:80px;background:#DDD}       
  6. </style>       
  7. <div class="div1">       
  8. <div class="left">Left</div>       
  9. <div class="right">Right</div>       
  10. </div>       
  11. <div class="div2">       
  12. div2       
  13. </div>    

原理:父級div手動定義height,就解決了父級div無法自動獲取到高度的問題。

優(yōu)點(diǎn):簡單、代碼少、容易掌握

缺點(diǎn):只適合高度固定的布局,要給出精確的高度,如果高度和父級div不一樣時,會產(chǎn)生問題

建議:不推薦使用,只建議高度固定的布局時使用

----------

2,結(jié)尾處加空div標(biāo)簽 clear:both

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red}    
  3. .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. /*清除浮動代碼*/    
  7. .clearfloat{clear:both}    
  8. </style>    
  9. <div class="div1">    
  10. <div class="left">Left</div>    
  11. <div class="right">Right</div>    
  12. <div class="clearfloat"></div>    
  13. </div>    
  14. <div class="div2">    
  15. div2    
  16. </div>   

原理:添加一個空div,利用css提高的clear:both清除浮動,讓父級div能自動獲取到高度

優(yōu)點(diǎn):簡單、代碼少、瀏覽器支持好、不容易出現(xiàn)怪問題

缺點(diǎn):不少初學(xué)者不理解原理;如果頁面浮動布局多,就要增加很多空div,讓人感覺很不好

建議:不推薦使用,但此方法是以前主要使用的一種清除浮動方法

----------

3,父級div定義 偽類:after 和 zoom (大多是用這種)

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;}    
  3. .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. /*清除浮動代碼*/    
  7. .clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}    
  8. .clearfloat{zoom:1}    
  9. </style>    
  10. <div class="div1 clearfloat">    
  11. <div class="left">Left</div>    
  12. <div class="right">Right</div>    
  13. </div>    
  14. <div class="div2">    
  15. div2    
  16. </div>   

原理:IE8以上和非IE瀏覽器才支持:after,原理和方法2有點(diǎn)類似,zoom(IE轉(zhuǎn)有屬性)可解決ie6,ie7浮動問題

優(yōu)點(diǎn):瀏覽器支持好、不容易出現(xiàn)怪問題(目前:大型網(wǎng)站都有使用,如:騰迅,網(wǎng)易,新浪等等)

缺點(diǎn):代碼多、不少初學(xué)者不理解原理,要兩句代碼結(jié)合使用才能讓主流瀏覽器都支持。

建議:推薦使用,建議定義公共類,以減少CSS代碼。
-------

4,父級div定義 overflow:hidden

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;/*解決代碼*/width:98%;overflow:hidden}    
  3. .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px;width:98%}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. </style>    
  7. <div class="div1">    
  8. <div class="left">Left</div>    
  9. <div class="right">Right</div>    
  10. </div>    
  11. <div class="div2">    
  12. div2    
  13. </div>   

原理:必須定義width或zoom:1,同時不能定義height,使用overflow:hidden時,瀏覽器會自動檢查浮動區(qū)域的高度

優(yōu)點(diǎn):簡單、代碼少、瀏覽器支持好

缺點(diǎn):不能和position配合使用,因?yàn)槌龅某叽绲臅浑[藏。

建議:只推薦沒有使用position或?qū)verflow:hidden理解比較深的朋友使用。

---------

5,父級div定義 overflow:auto

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;/*解決代碼*/width:98%;overflow:auto}    
  3. .div2{background:#800080;border:1px solid red;height:100px;margin-top:10px;width:98%}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. </style>    
  7. <div class="div1">    
  8. <div class="left">Left</div>    
  9. <div class="right">Right</div>    
  10. </div>    
  11. <div class="div2">    
  12. div2    
  13. </div>   

 原理:必須定義width或zoom:1,同時不能定義height,使用overflow:auto時,瀏覽器會自動檢查浮動區(qū)域的高度

優(yōu)點(diǎn):簡單、代碼少、瀏覽器支持好

缺點(diǎn):內(nèi)部寬高超過父級div時,會出現(xiàn)滾動條。

建議:不推薦使用,如果你需要出現(xiàn)滾動條或者確保你的代碼不會出現(xiàn)滾動條就使用吧。

---------

6,父級div 也一起浮動

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;/*解決代碼*/width:98%;margin-bottom:10px;float:left}    
  3. .div2{background:#800080;border:1px solid red;height:100px;width:98%;/*解決代碼*/clear:both}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. </style>    
  7. <div class="div1">    
  8. <div class="left">Left</div>    
  9. <div class="right">Right</div>    
  10. </div>    
  11. <div class="div2">    
  12. div2    
  13. </div>   

原理:所有代碼一起浮動,就變成了一個整體

優(yōu)點(diǎn):沒有優(yōu)點(diǎn)

缺點(diǎn):會產(chǎn)生新的浮動問題。

建議:不推薦使用,只作了解。

-------

7,父級div定義 display:table

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;/*解決代碼*/width:98%;display:table;margin-bottom:10px;}    
  3. .div2{background:#800080;border:1px solid red;height:100px;width:98%;}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. </style>    
  7. <div class="div1">    
  8. <div class="left">Left</div>    
  9. <div class="right">Right</div>    
  10. </div>    
  11. <div class="div2">    
  12. div2    
  13. </div>  

原理:將div屬性變成表格

優(yōu)點(diǎn):沒有優(yōu)點(diǎn)

缺點(diǎn):會產(chǎn)生新的未知問題。

建議:不推薦使用,只作了解。
---------

8,結(jié)尾處加 br標(biāo)簽 clear:both

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <style type="text/css">    
  2. .div1{background:#000080;border:1px solid red;margin-bottom:10px;zoom:1}    
  3. .div2{background:#800080;border:1px solid red;height:100px}    
  4. .left{float:left;width:20%;height:200px;background:#DDD}    
  5. .right{float:right;width:30%;height:80px;background:#DDD}    
  6. .clearfloat{clear:both}    
  7. </style>    
  8. <div class="div1">    
  9. <div class="left">Left</div>    
  10. <div class="right">Right</div>    
  11. <br class="clearfloat" />    
  12. </div>    
  13. <div class="div2">    
  14. div2    
  15. </div>   

原理:父級div定義zoom:1來解決IE浮動問題,結(jié)尾處加 br標(biāo)簽 clear:both

建議:不推薦使用,只作了解。

以上這篇html+css 清除浮動的相關(guān)技巧心得就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

原文地址:http://www.cnblogs.com/fuyinsheng/p/5283519.html

相關(guān)文章

最新評論