<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 何楊 閱讀(303) 評論(0)  編輯  收藏 所屬分類: CSS
    主站蜘蛛池模板: 国产一级高清视频免费看| 97国免费在线视频| 最近新韩国日本免费观看| 亚洲中文字幕在线乱码| 草久免费在线观看网站| 亚洲国产小视频精品久久久三级 | 亚洲国产成+人+综合| 久久国产免费观看精品3| 亚洲色图.com| 114一级毛片免费| 亚洲一区二区三区无码国产| 亚洲免费网站观看视频| mm1313亚洲国产精品无码试看| 情侣视频精品免费的国产 | 成人午夜免费视频| a级亚洲片精品久久久久久久| 大地资源网高清在线观看免费| 无码专区—VA亚洲V天堂| 国产精品免费网站| 亚洲国产av玩弄放荡人妇| 免费在线观看日韩| 国产日韩久久免费影院| 亚洲综合精品一二三区在线| 永久免费AV无码国产网站| 激情无码亚洲一区二区三区| 久久精品国产亚洲精品| 99视频免费播放| 亚洲日韩中文字幕一区| 亚洲男女内射在线播放| 久久成人免费大片| 亚洲中文字幕无码中文| 精品国产亚洲男女在线线电影| 午夜精品免费在线观看| 一本天堂ⅴ无码亚洲道久久| 亚洲男人在线无码视频| 无码国产精品一区二区免费16| 亚洲色欲色欱wwW在线| 久久精品九九亚洲精品天堂| 99在线视频免费观看视频 | 亚洲a一级免费视频| 毛片a级三毛片免费播放|