css 透明属性
最近因為工作需要,需要自定義彈窗,并讓背景透明。因為自己也是初學者,就碰到了比較經(jīng)典的問題。
看代碼
<div class="top"><div class="sub">css opacity attribute!</div>
</div>
以上結(jié)構,如果設置top的opacity屬性來達到透明效果時,你會發(fā)現(xiàn),里面的元素全部繼承了透明的效果,這顯然不能達到要求。至少字體總得看的清楚吧。
從網(wǎng)上搜羅了下相關知識點
先給出標準的css透明寫法,兼容大部分瀏覽器
.top {filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
上面的幾個屬性分別是:
- opacity: 0.5; 這是最重要的,因為它是CSS標準.該屬性支持Firefox、Safari和 Opera.
- filter:alpha(opacity=50); 這個是為IE6設的,可取值在0-100,其它三個0到1.
- -moz-opacity:0.5; 這個是為了支持一些老版本的Mozilla瀏覽器。
- -khtml-opacity: 0.5; 這個為了支持一些老版本的Safari瀏覽器。
上面的例子涉及到透明屬性的繼承問題
標準的是,當父元素設置了透明屬性,其子元素也會跟著繼承透明屬性,很多會馬上想到,把子元素重新設置opacity:1,但是很可惜,這是無效的。有些人為了省時間,可能當子元素里面的內(nèi)容多少還看得清楚的時候,就這點問題就會忽略不計。當然,也有很多需求是需要完全不透明的內(nèi)容。
比較有用的一個方法就是,添加多一個div(子元素),這個div和你要顯示的內(nèi)容塊是屬于兄弟關系,那么給Div和內(nèi)容塊設置絕對定位,然后給div設置透明度,此時的內(nèi)容塊會覆蓋在上面,也就模擬了我們所要的效果。
具體寫法可參考:css透明繼承問題
以上內(nèi)容部分來自帕蘭印象
轉(zhuǎn)載于:https://www.cnblogs.com/ilexcai/archive/2011/10/08/2201701.html
總結(jié)
- 上一篇: Chromium Embedded Fr
- 下一篇: HDOJ 1056 HangOver