<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
    主站蜘蛛池模板: 国产一级特黄高清免费大片| 亚欧免费一级毛片| 性色av免费观看| 亚洲国产av高清无码| 亚洲成人免费电影| 91嫩草亚洲精品| 无码国产精品一区二区免费虚拟VR| 免费无码一区二区三区蜜桃大| 亚洲自国产拍揄拍| 午夜私人影院免费体验区| 亚洲gay片在线gv网站| 国产成人免费一区二区三区| 黄页网站在线免费观看| 亚洲精品偷拍视频免费观看| 久久成人18免费网站| 亚洲Av熟妇高潮30p| 30岁的女人韩剧免费观看| 亚洲日韩在线视频| 亚洲人成网77777亚洲色| 中文字幕免费播放| 久久国产亚洲精品无码| 日韩免费一区二区三区在线| 亚洲成av人片天堂网无码】| 四虎永久免费网站免费观看| 亚洲高清免费视频| 国产精品久久久久影院免费| 日本激情猛烈在线看免费观看 | 黄色三级三级免费看| 中文字幕日韩亚洲| 67pao强力打造国产免费| 亚洲成a人片在线观看精品| 免费在线观看黄色毛片| 免费国产午夜高清在线视频| 亚洲午夜国产精品| 亚洲天堂中文字幕在线| **aaaaa毛片免费同男同女| 国产亚洲福利一区二区免费看| 中文字幕亚洲图片| 一二三四影视在线看片免费| xxxx日本在线播放免费不卡| 久久久婷婷五月亚洲97号色|