1. 程式人生 > >min-height:100px; height:auto;的用法

min-height:100px; height:auto;的用法

總結:min-height:100px; height:auto;的用法

1、IE6有個BUG,就是如果指定了一個盒子的高度,但裡面內容又溢位了,那這個盒子的高度則會失去作用,盒子的高度會隨著內容的增長而自動增長

  (即內容不會溢位,而是把盒子撐大)

2、 IE7.0,8.0,FF如果在高度的方向內容溢位,它下面的弟弟元素會和上面的內容交疊在一起

(當內容少於height:100px;的高度時,不用加min-height:100px;height:auto;各瀏覽器的效果都是相同的)

CSS程式碼

<style type="text/css">

<!--

#one{

height:100px;

width:300px;

background:#ccc; 

border:1px blue solid;

font-size:12px;

}

#two{

height:100px; 

width:300px; 

background:#0CF; 

border:1px blue solid;

font-size:12px;

}

-->

</style>

</head>

<body>

<div id="one">

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

</div>

<div id="two">

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

</div>

</body>

如下圖所示

IE6.0顯示效果

總結:min-height:100px; <wbr>height:auto;的用法

IE7.0顯示效果

總結:min-height:100px; <wbr>height:auto;的用法

IE8.0,FF顯示效果

總結:min-height:100px; <wbr>height:auto;的用法

為了讓各瀏覽器的盒子高度隨內容高度的增加而增長

我們寫程式碼如下(只要在原始碼的基礎上加min-height:100px !important;

height:auto!important;

<style type="text/css">

<!--

#one{

height:100px;

min-height:100px !important;

height:auto!important;

width:300px;

background:#ccc; 

border:1px blue solid;

font-size:12px;

}

#two{

height:100px; 

width:300px; 

background:#0CF; 

border:1px blue solid;

font-size:12px;

}

-->

</style>

</head>

<body>

<div id="one">

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

<p>111111111111111</p>

</div>

<div id="two">

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

<p>22222222222222</p>

</div>

</body>

測試後IE6.0,7.0 ,8.0 FF各瀏覽器盒子高度隨內容高度的增加而增長

如下圖所示:

總結:min-height:100px; <wbr>height:auto;的用法

但仔細測量各瀏覽器下每個盒子的高度,我們發現各不相同(這個問題還沒有解決

IE6.0,7.0總高度如下圖

總結:min-height:100px; <wbr>height:auto;的用法

IE8.0,FF總高度如下圖

總結:min-height:100px; <wbr>height:auto;的用法

 問題的解決方法:一定將height:880px;放在最後寫。

 <title>無標題文件</title>
<style type="text/css">
#left_right{
width:968px;
height:auto;
}
#left{
width:743px;
background:green;
height:auto !important;
min-height:880px;
height:880px;

float:left;
}
#right{
float:right;
width:221px;
background:red;
height:auto !important;
min-height:150px;
height:150px;

}
</style>
</head>

<body>
<div id="left_right">
<divid="left">dfdf</div>
<divid="right">sdfd</div>
</div>
</body>
</html>

關於div高度自適應問題,相容IE和火狐

  在此,並不是指div的高度可以簡單的自動調整。而是指在該div中沒有置放內容的情況下,至少要保持這個div的高度為多少,而有內容的時候,又會隨著內容的多少而自動調整。同時,對IE或是FF等瀏覽都可以相容的。舉個例項:

  div要求至少高度需要200px。也就是說,即使div中沒有任何內容,高度也需要保持在200px;當DIV中的內容高度超過200px時,則該div會自動調節高度,而且又相容各瀏覽囂。怎麼解決呢?

  對於初學者來說,可能想到的就是min-height:200px這個和height:auto這樣的寫法了。雖然這樣寫法用IE瀏覽器瀏覽是正常的,可是如果用火狐瀏覽囂一測試一下,就知道不相容而達不到預想的效果了。為什麼會這樣呢?原來是因為火狐瀏覽器此時不以height:auto這個執行為標準的。那要加上什麼屬性才可以讓兩個瀏覽器都正常去解讀css呢?辦法就是加上height:auto!important這個重要屬性。所以答案是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<meta name="Author"content="Div+CSS專業網頁佈局,www.divss.com" />
<meta name="keywords"content="div+css,網頁佈局,jpg切割佈局,網頁切割css,wap頁面佈局,網站重構"/>
<title>div+css自動調整高度</title>
</head>
<body>
<divstyle="width:auto;height:auto!important;min-height:200px;height:200px;background-color:#f4f4f4;font-size:12px">
此層最少高度為200px,也就是說,即使div中沒有任何內容,高度也會保持在200px,當DIV中的內容超過500px時,則自動增加DIV的高度。這個對IE或是FF等瀏覽器都會相容的。(背景色是為了方便檢視效果用的)<br/>
</div>
</body>
</html>

------------------------------------------------------------------------------------------------------------------------------------------

需要注意的是:在針對一個需要定高度,同時又希望能高度隨內容的變化自適應的話,寫發的順序要注意;下面是正確的定義順序;

height:auto!important; min-height:388px; height:379px;

DIV有背景顏色的時候,DIV被撐開但是背景顏色沒有被撐開,只要加上如下程式碼就可以了
overflow:hidden;