CSS實現父元素半透明,子元素不透明


CSS實現父元素半透明,子元素不透明。 很久以來大家都習慣使用opacity:0.5在新式瀏覽器里實現半透明,而對IE較舊的版本使用filter:Alpha(opacity=0.5)的濾鏡來實現半透明。但是這樣實現的半透明有個問題,那就是這個屬性會被子元素所繼承。

如下代碼,則子元素中也將是半透明效果,無論你將子元素的半透明值重置還是如何都不會改變這一情況。

.parent{opacity:0.5; background-color:#fff;}
.child{opacity:1.0; background-color:#fff; height:200px;}

HTML:

<div class="parent">
    <div class="child">哈哈哈</div>
</div>

其實在新的CSS3規則里面的屬性 GRBA已經可以方便的實現父元素透明,而子元素不透明了。 如下代碼

<div class="parent" style="background:rgba(255,255,255,0.5)">
    <div class="child" style="height:200px; background-color:red">哈哈哈</div>
</div>

但是對於IE6~8方面就無法兼容了,可以適當的降級。 如果一定要兼容的話只能考慮使用絕對定位的,看上去是包含關系的兩個層,其實是兄弟關系,使用JS來控制其位置的呈現,這種具體就不再陳述了,網上解決方案很多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM