<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    當柳上原的風吹向天際的時候...

    真正的快樂來源于創造

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
    http://developer.51cto.com/art/201008/222367.htm

    本文和大家重點討論一下DIV高度自適應及注意問題,主要包括父div高度隨子div的高度改變而改變和子div高度隨父親div高度改變而改變兩種情況。

    DIV高度自適應及注意問題

    積累了一些經驗,總結出一些關于div高度自適應的技巧,希望有助于大家,轉載請標明出處,謝謝。

    一、DIV高度自適應(父div高度隨子div的高度改變而改變)

    1、如果父div不定義height、子div均為標準流的時候,父div的height隨內容的變化而變化,實現父div高度隨子div的高度改變而改變。

    代碼: 

    1. <styletypestyletype="text/css"> 
    2. #aa{border:#000000solid5px}  
    3. #bb{border:#00ffffsolid5px;}  
    4. #cc{border:#0033CCsolid5px}  
    5. style> 
    6. <dividdivid="aa">父div  
    7. <dividdivid="bb">子divdiv> 
    8. <dividdivid="cc">子divdiv> 
    9. div> 

    效果:IE、FF下一致

    2、如果父div定義height,子div均為標準流的時候,在IE下父div的height隨內容變化而變化,ff中則固定大小,如父div設置height:50px

    代碼: 

    1. <styletypestyletype="text/css"> 
    2. #aa{border:#000000solid5px;height:50px}  
    3. #bb{border:#00ffffsolid5px;}  
    4. #cc{border:#0033CCsolid5px}  
    5. style> 
    6. <dividdivid="aa">父div  
    7. <dividdivid="bb">子divdiv> 
    8. <dividdivid="cc">子divdiv> 
    9. div> 

    IE效果

    FF下效果

    3、如果子div使用了float屬性,此時已經脫離標準流,父div不會隨內容的高度變化而變化,解決的辦法是在浮動的div下面,加一個空div,設置clear屬性both

    未加空div代碼: 

    1. <styletypestyletype="text/css"> 
    2. #aa{border:#000000solid5px;}  
    3. #bb{border:#00ffffsolid5px;float:left}  
    4. #cc{border:#0033CCsolid5px;float:left}  
    5. style> 
    6. <dividdivid="aa">父div  
    7. <dividdivid="bb">子divdiv> 
    8. <dividdivid="cc">子divdiv> 
    9. div> 

    IE效果:

    FF效果:

    修改后代碼: 

    1. <styletypestyletype="text/css"> 
    2. #aa{border:#000000solid5px;}  
    3. #bb{border:#00ffffsolid5px;float:left}  
    4. #cc{border:#0033CCsolid5px;float:left}  
    5. style> 
    6. <dividdivid="aa">父div  
    7. <dividdivid="bb">子divdiv> 
    8. <dividdivid="cc">子divdiv> 
    9. <divstyledivstyle="clear:both">div> 
    10. div> 

    修改后效果:IEFF一致

    4.另類的DIV高度自適應
    原理:
    padding-bottom將列拉長變的一樣高,而負的margin-bottom又使其回到底部開始的位置,同時,溢出部分隱藏掉了。此方法必須加文檔信息才能正常顯示
    代碼: 


    1.  
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
    4. <styletypestyletype="text/css"> 
    5. #aa{border:#000000solid5px;overflow:hidden;}  
    6. #bb{border:#00ffffsolid5px;float:left;  
    7. padding-bottom:100000px;margin-bottom:-100000px;}  
    8. #cc{border:#0033CCsolid5px;float:left;  
    9. padding-bottom:100000px;margin-bottom:-100000px;}  
    10. #dd{float:left}  
    11. style> 
    12. <dividdivid="aa"> 
    13. <dividdivid="bb">子divdiv> 
    14. <dividdivid="cc">子divdiv> 
    15. <dividdivid="dd">子div<br/><br/><br/><br/><br/>div> 
    16. div> 
    17.  

    效果:


    二、DIV高度自適應(子div高度隨父親div高度改變而改變)

    在有邊框的情況下,你會發現同一個div,在IE下的高度和在FF下的高度是不一樣的,比如你設置了高度為100px的div,邊框是 border:5px;IE的高度是5+5+空白區域=100px,而FF下高度是100px的div是不包括高度的,只是空白區域的高度,如下圖黑框的 部分:


    黑框的上方是對齊的,但是設置了同樣的高度,效果卻不一樣,代碼如下:

    1. <styletypestyletype="text/css"> 
    2.  
    3. #aa{border:#000000solid5px;height:100px;}  
    4.  
    5. #bb{border:#00ffffsolid5px;float:left;height:100%}  
    6.  
    7. #cc{border:#0033CCsolid5px;float:left}  
    8.  
    9. style> 
    10.  
    11. <dividdivid="aa"> 
    12.  
    13. <dividdivid="bb">子divdiv> 
    14.  
    15. <dividdivid="cc">子divdiv> 
    16.  
    17. div> 

    如果沒有設置邊框,完全沒有高度不一致的情況,子div適應父div很簡單,如上面代碼,只是在子div加了height:100%屬性即可。如果 設置了邊框,可以把子div的高度設置為比父div小上下邊框高度的值,比如在此例中,可把#bb中height改為100-5-5=90px,結果在 IE和Mozilla中顯示一致。

    有一點要注意,如果父div是body的話,也就是說一個body套了一個div,讓div適合body的大小的,必須設置body的高度才能實現子div隨body改變而改變,body{height:100%}

    posted on 2013-04-25 16:18 何楊 閱讀(293) 評論(0)  編輯  收藏 所屬分類: CSS
    主站蜘蛛池模板: 亚洲国产91精品无码专区| 黄网址在线永久免费观看 | 日本高清不卡aⅴ免费网站| 国产美女精品久久久久久久免费| 亚洲色精品VR一区区三区| AV无码免费永久在线观看| 国产亚洲sss在线播放| 在线观看免费人成视频色9| 亚洲av无码不卡久久| 女人18特级一级毛片免费视频| 久久久久久亚洲精品影院| 毛片大全免费观看| 亚洲JIZZJIZZ妇女| 又粗又大又硬又爽的免费视频 | 国产资源免费观看| 曰批免费视频播放免费| 国产亚洲av人片在线观看| 最新亚洲成av人免费看| 水蜜桃亚洲一二三四在线| 亚洲精品免费在线| 亚洲人片在线观看天堂无码| 国产高清免费在线| 中文字幕在线观看免费| 精品亚洲A∨无码一区二区三区| 8x网站免费入口在线观看| 国产成人精品亚洲日本在线| 免费日本黄色网址| 丝袜捆绑调教视频免费区| 亚洲精品午夜在线观看| 尤物永久免费AV无码网站| 9久久免费国产精品特黄| 亚洲日产2021三区| 国产a级特黄的片子视频免费 | 一级成人a免费视频| 日韩精品一区二区亚洲AV观看| 拨牐拨牐x8免费| 亚洲免费一区二区| 亚洲一级毛片免费观看| 国产成人精品久久亚洲| 香蕉97超级碰碰碰免费公| 免费无毒a网站在线观看|