如何在一個層上面覆蓋一個高度自適應的透明層?_Div+CSS教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
網友JAY剛剛在留言板提出了一個問題,是關于在一個層上面覆蓋一個高度100%的透明層的問題。他碰到了一點麻煩,在IE7和FF中沒有什么問題,而在IE6中,就出問題了。
示例代碼 [www.wf0088.com]
JAY [2007-01-27 00:38:27]
#L1{position:relative;float:left;}
#L1 #L2{position:absolute;width:100%;height:100%;top:0px;left:0px;
background:url(...) bottom left no-repeat;}
<div id="L1"><img.../><div id="L2"></div></div>
想用上面的代碼實現在img上面蓋一層圖,不過在IE6里層L2高度不會隨L1高度變化,IE7和FF2則可以。這個要怎么辦呢
#L1{position:relative;float:left;}
#L1 #L2{position:absolute;width:100%;height:100%;top:0px;left:0px;
background:url(...) bottom left no-repeat;}
<div id="L1"><img.../><div id="L2"></div></div>
想用上面的代碼實現在img上面蓋一層圖,不過在IE6里層L2高度不會隨L1高度變化,IE7和FF2則可以。這個要怎么辦呢
下面我們著手解決這個問題,首先,需要告訴瀏覽器我們的body的高度不是未定義的,而是100%。
div2是div1的子對象。若想讓子對象適應父對象的高度,首先就要獲取父對象的高,才對去適應它。
div2是層又疊在父對象div1之上的,我們要明確他們的層疊關系。
好了,有了上面的基本思路,下面我們動手編碼:
示例代碼 [www.wf0088.com]
* { margin:0; padding:0;}
body { height:100%; }
#div1{
position:relative;
float:left;
height:100%;
}
#div1 #div2{
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
right:0;
bottom:0;
/*background:url(/uploads/divcss/logo3.gif) bottom left no-repeat; */
z-index:1;
-moz-opacity:0.5;
filter:alpha(opacity=50);
background:#c00;
}
body { height:100%; }
#div1{
position:relative;
float:left;
height:100%;
}
#div1 #div2{
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
right:0;
bottom:0;
/*background:url(/uploads/divcss/logo3.gif) bottom left no-repeat; */
z-index:1;
-moz-opacity:0.5;
filter:alpha(opacity=50);
background:#c00;
}
示例代碼 [www.wf0088.com]
<div id="div1">
<img src="http://p1.mb5u.com/divcss/logo3.gif" />
<div id="div2">div div2</div>
</div>
<img src="http://p1.mb5u.com/divcss/logo3.gif" />
<div id="div2">div div2</div>
</div>
我們看下面的運行效果。我在IE6和FF下面測試通過!
代碼調試框 [www.wf0088.com]
[ 可先修改部分代碼 再運行查看效果 ]
我們運行機制所看到的是,本站的logo3在div1中,div2填充了顏色#c00,設置了半透明的效果。div2中的文字層疊在div1之上。div2自動適應div1在高度上的變化。
你可以在上面的運行代碼中的XHTML部分加上:
示例代碼 [www.wf0088.com]
<br /><img src="http://p1.mb5u.com/divcss/logo3.gif" />
再次查看運行效果。得到了div2自動適應div1在高度上的變化。
相關Div+CSS教程:
- 相關鏈接:
- 教程說明:
Div+CSS教程-如何在一個層上面覆蓋一個高度自適應的透明層?。