css實現背景透明文字不透明

css實現背景透明文字不透明

設置元素的透明度:

 -moz-opacity:0.8; /*在Firefox中設置元素透明度
 filter: alpha(opacity=80); /*ie使用濾鏡設置透明

但是當我們對一個標籤設置背景的透明度時,往往我們並不希望該標籤上的文字圖片也變成半透明瞭。

例如:

 <div><p>不透明</p></div>
div{-moz-opacity:0.3;filter:alpha(opacity=30);background:#000;width:500px;
 height:500px;color:#F30; font-size:32px; font-weight:bold; }

可以很明顯的看出文字也被半透明的,這是我們不想看到的效果。
以前我曾經是絕對定位的方法解決這個問題,也就是現在的p並不是div的子元素。

<div></div>
<p>不透明</p>

這樣div的半透明效果也就不會影響到元素p了。最後在將p定位到需要的位置。
但是很多時候這樣的標籤並不是很合理,有可能還會多浪費幾個標籤。

下面的這種方法就可以解決上面的問題了:

 div{background:rgba(0,0,0,0.2) none repeat scroll !important; /*實現FF背景透明,文字不透明*/
background:#000; filter:Alpha(opacity=20);/*實現IE背景透明*/ 
 width:500px; height:500px; color:#F30; font-size:32px; font-weight:bold;}
 div p{ position:relative;}/*實現IE文字不透明*/

火狐我們直接用rgba顏色就可以解決子標籤跟着半透明的問題了,但是ie還不是能很好的支持。
所以我們給不想被透明的標籤設置一個定位屬性,問題接能解決了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章