css 背景透明 元素(標簽)背景透明的css設計
發(fā)布時間:2013-01-09 09:19:18 作者:佚名
我要評論

今天要設計一個定位在圖片上的標簽,標簽的背景要有一定的透明度,使用到了opacity的屬性,過去沒太注意這個屬性的兼容性問題,結果很是郁悶
今天要設計一個定位在圖片上的標簽,標簽的背景要有一定的透明度,使用到了opacity的屬性,過去沒太注意這個屬性的兼容性問題,結果采坑了。。。
1.完成后的效果
完成前后的效果應該是這樣的:
背景透明前 背景透明后
tag部分的html應該是這樣的:
復制代碼
代碼如下:<div class="tag">
<span class="tag-bg"></span>
<span class="tag-font">拉薩</span>
</div>
tag部分的css應該是這樣的:
復制代碼
代碼如下:.tag-bg,.tag-font{position:absolute;left:0;bottom:7px;width:50px;height:23px;line-height:23px;font-size: 16px;font-family: "微軟雅黑";color:#fff;padding:0 7px;}
.tag-bg{background: #5cbfed;opacity:.7;filter:alpha(opacity=70);-moz-opacity:.7;}
這里提醒下,如果只想背景透明文字不透明,那么一定要設計并列的兩個span來分別定義樣式。
從上面的代碼中可以看出,tag-bg設置的opacity比較復雜,做了多種兼容性處理。
2.透明度的兼容性處理
復制代碼
代碼如下:{
opacity:.7; /* 支持CSS3的瀏覽器(FF 1.5也支持) 透明度70%*/
filter:alpha(opacity=70);/* IE 透明度70%*/
-moz-opacity:.7; /* Moz + FF 透明度70%*/
}
上面的注釋已經解釋的很清楚了,如果你想做更深入的了解,那么你可以去網絡搜尋更多相關的資料。
3.我的實驗
上面是理論上的解釋,你可能會覺得比較空洞,好吧,我們來做實驗,看看不同瀏覽器下到底是怎樣的情況。
我的測試代碼:
復制代碼
代碼如下:<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>透明測試</title>
<style>
body{width: 960px;margin: 0 auto;}
div{width: 900px;margin: 0 auto;}
ul li{width: 200px;height: 200px;float: left;margin-right: 5px;background: #00f;color: #fff;list-style: none;padding: 5px;}
.set-opacity{opacity: .5;}
.set-filter{filter:alpha(opacity=50);}
.set-moz{-moz-opacity: .5;}
.set-all{opacity: .5;filter:alpha(opacity=50);-moz-opacity:.5;}
</style>
</head>
<body>
<div>
<ul>
<li class="set-opacity">opacity: .5;</li>
<li class="set-filter">filter:(opacity=50);</li>
<li class="set-opacity-filter">-moz-opacity: .5;</li>
<li class="set-all">opacity: .5;
filter:(opacity=50);
-moz-opacity:.5;</li>
</ul>
</div>
</body>
</html>
下面的各個圖中,淺藍色表明透明度設置成功了,深藍色表示失敗,說明瀏覽器不識別里面的任何一種設置。
先來看看chrome下的情況:

可以看出,chrome識別opacity,不識別filter和-moz-opacity。
IE9下:
ie9比較給力,除了識別filter,也能識別opacity,只是不識別特殊的-moz-opacity。
IE6,IE7,IE8下:
ie6、7、8下均只能識別filter。
FF(16)下:
我的ff16下可以支持opacity,但是不識別filter和-moz-opacity。
如果你有興趣,還可以將以上代碼在更多的瀏覽器上測試。
從上面的幾種情況中已經可以發(fā)現(xiàn)了,后一種設置透明度的方式已經可以兼容了各種瀏覽器。所以,我推薦你使用這樣的方式來設置透明度。
相關文章
- 這篇文章主要介紹了XML中的標簽與元素的使用,是XML入門學習中的基礎知識,需要的朋友可以參考下2016-02-14
- 元素上級標簽是div,已經設置了width和height等的屬性,可是,在對元素使用margin進行調整的時候,無法生效,下面有個不錯的解決方法,感興趣的朋友可以參考下2014-02-17
- 你沒看錯:用一個A標簽包裹塊級元素,在HTML5以前,a標簽屬于行內元素,而div,h1,p 等為塊級元素,如果強行包裹,可能會被強行截斷為多個a標簽,感興趣的朋友可以了解些2013-08-23
- 最近學習了一些html的知識,以防忘記所以整理了一下,以備不時之需。主要由html的基本元素到超鏈接、圖像之類的,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-06-26
- 很多人可能都沒有把哪個叫標簽,哪個叫元素這個概念搞清楚,包括之前的我也是,一直都是混淆著,特意搜索查閱了一些資料,現(xiàn)將我得出的結論寫出來,與大家分享下2013-04-22
- 塊級元素:block-level,相信大家都知道吧(or Google it)。以前在寫代碼的時候,面對 標簽總覺得很奇怪。2011-04-26
- HTML元素(標簽)大全及使用說明2010-07-04
- HTML文檔是由HTML元素組成的文本文件。 HTML元素是預定義的正在使用的HTML標簽。 HTML標簽通常成對出現(xiàn)2009-07-16
- 下面小編就為大家?guī)硪黄亟^對定位以后設置了高寬,a標簽不能點擊的原因及解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09