CSS透明屬性詳解(20130917)

最近流行各種“朦朧感”,找到點(diǎn)透明CSS屬性記錄一下。

透明往往能產(chǎn)生不錯(cuò)的網(wǎng)頁(yè)視覺效果,先奉上兼容主流瀏覽器的CSS透明代碼:

<pre><code>
.transparent_class {
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
</code></pre>

上面的幾個(gè)屬性分別是:

  • opacity: 0.5; 這是最重要的,因?yàn)樗荂SS標(biāo)準(zhǔn).該屬性支持Firefox, Safari和 Opera.
  • filter:alpha(opacity=50); 這個(gè)是為IE6設(shè)的,可取值在0-100,其它三個(gè)0到1.
  • -moz-opacity:0.5; 這個(gè)是為了支持一些老版本的Mozilla瀏覽器。
  • -khtml-opacity: 0.5; 這個(gè)為了支持一些老版本的Safari瀏覽器。

CSS透明度繼承問題

但CSS的透明屬性涉及到一個(gè)繼承問題,當(dāng)為父級(jí)元素設(shè)置透明度后,子元素將自動(dòng)繼承其透明度,比如本站的一個(gè)效果:

即使你又為子元素指定透明度為1也是無(wú)效的。

對(duì)于子元素是文字的情況,我的解決方法一般是如果多少還能夠看清,就不管。另一個(gè)折衷的方法是,為文本子元素指定一個(gè)相對(duì)更深的顏色。也就是說,當(dāng)子元素繼承透明度后,所得到的文本顏色正好就是你想要的。前提是,這個(gè)顏色還有加深的可能,和需要詳細(xì)的計(jì)算顏色和透明度的值。

還有“取消透明度繼承”的說法,這個(gè)說法是不太準(zhǔn)確的,據(jù)我個(gè)人所知,沒有任何取消透明度繼承的方法。只能說,當(dāng)想要實(shí)現(xiàn)“多個(gè)元素覆蓋,只讓指定的元素透明”時(shí),可以使用的一些Hack。

搜了一下,找到一個(gè)不錯(cuò)的實(shí)現(xiàn)這種效果的方法 – 一個(gè)關(guān)于透明繼承度的問題,有興趣的朋友可以看看。原理很簡(jiǎn)單,添加一個(gè)空元素作為透明層,和不想透明但是要實(shí)現(xiàn)覆蓋效果的元素為同級(jí)元素。父級(jí)元素使用position:relative定位; 兩個(gè)子元素使用position:absolute定位,實(shí)現(xiàn)覆蓋。

引用于 帕蘭印象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,166評(píng)論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁(yè)面在哪些流覽器測(cè)試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,377評(píng)論 0 8
  • display: none; 與 visibility: hidden; 的區(qū)別 聯(lián)系:它們都能讓元素不可見 區(qū)別...
    紋小艾閱讀 2,013評(píng)論 0 1
  • 學(xué)習(xí)CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,189評(píng)論 0 1
  • 宇宙的本體是河圖,本體是一個(gè)無(wú)形無(wú)相、其大無(wú)外、其小無(wú)內(nèi)的恒定不變體,宇宙萬(wàn)象的運(yùn)行軌跡是洛書,洛書的萬(wàn)變是為了達(dá)...
    百家載閱讀 1,149評(píng)論 0 3

友情鏈接更多精彩內(nèi)容