文章插圖

文章插圖
我們在做PC端項目的時候,常常會碰到透明背景和透明圖片的的需求,但是透明度常常有會發生很多問題,特別是背景透明內容不透明,想要兼容所有瀏覽器實現起來就比較麻煩 。
如何實現背景透明,文字不透明,兼容所有瀏覽器?
其實平時說的調整透明度,其實是在樣式中調整不透明度,如下圖:
css3的opacity:value,value 的取值從 0 到 1,如opacity: 0.5css3的rgba(red, green, blue, alpha),alpha(透明度)的取值從 0 到 1,如rgba(255,255,255,0.5)IE專屬濾鏡 filter:Alpha(opacity=value),value 的取值從 0 到 100,如filter:Alpha(opacity=50)下面我們來一個一個的解釋:1、Css3的opacity
兼容:Css3的opacity不兼容IE低版本,IE6/7/8不支持,IE9以上都支持
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>*{padding:0;margin: 0;}.content{width: 200px;height: 100px;padding: 50px 50px;background-color: red;opacity: 0.5;/* 設置不透明度50% */}p{width: 100px;height: 100px;background: green;}</style></head><body><div class="content"><p>背景透明,內容也透明</p></div></body></html>使用opacity后整個模塊都透明了,展現如下:2、css3的rgba
兼容性:IE6、7、8不支持,IE9及以上版本和標準瀏覽器都支持
使用說明:設置顏色的透明度,只要用到設置顏色都適用 。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>*{padding:0;margin: 0;}.content{width: 200px;height: 100px;padding: 50px 50px;background-color: rgba(255, 0, 0, 0.5);/* 用rgba設置背景透明,內容不會受影響 */}p{width: 100px;height: 100px;background: green;}</style></head><body><div class="content"><p>背景透明,內容也透明</p></div></body></html>我們想要的效果
所以rgba可以設置我們想要的效果,但是有兼容性,IE6、7、8設置rgba會錯誤顯示,識別不了,但是有IE專屬濾鏡 filter:Alpha(opacity=x),我們可以一起看看 。3、IE專屬濾鏡 filter:Alpha(opacity=x)使用說明:IE瀏覽器專屬,問題多多,本文以設置背景透明為例子,如下:僅支持IE6、7、8、9,在IE10版本被廢除在IE6、7中,需要激活IE的haslayout屬性(如:*zoom:1或者*overflow:hidden),讓它讀懂filter:Alpha在IE6、7、8中,設置了filter:Alpha的元素,父元素設置position:static(默認屬性),其子元素為相對定位,可讓子元素不透明
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>*{padding:0;margin: 0;}.content{width: 200px;height: 100px;padding: 50px 50px;background-color: red;filter:Alpha(opacity=50);/* 只支持IE6、7、8、9 */position:static;/* IE6、7、8只能設置position:static(默認屬性),否則會導致子元素繼承Alpha值 */*zoom:1;/* 激活IE6、7的haslayout屬性,讓它讀懂Alpha */}p{width: 100px;height: 100px;background: green;position: relative;}</style></head><body><div class="content"><p>背景透明,內容也透明</p></div></body></html>4、透明度全兼容的方案
以上分析我們知道,設置透明背景內容不透明,可使用的屬性有rgba和IE的專屬濾鏡filter:Alpha
針對IE6、7、8瀏覽器,我們可以使用fiter濾鏡,針對標準瀏覽器我們使用rgba,那么問題來了,IE9瀏覽器2個屬性都支持,一起使用會重復降低不透明度,那么,如何只對IE6、7、8使用fiter:Alpha如何實現呢?我們可以通過CssHack,設置有IE的相關hack,找到只支持IE 6、7、8的方案的方法,
/* 只支持IE6、7、8 */ @media screen,screen9 {...}透明度所有問題都解決了,全部代碼如下:【html中圖片背景的透明度如何設計 html怎么把圖片背景設置為透明】
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>*{padding:0;margin: 0;}.content{width: 200px;height: 100px;padding: 50px 50px;background-color: rgba(255, 0, 0, 0.5);}p{width: 100px;height: 100px;background: green;}@media screen,screen9 {/* 只支持IE6、7、8 */.content{background-color:red;filter:Alpha(opacity=50);position:static;/* IE6、7、8只能設置position:static(默認屬性),否則會導致子元素繼承Alpha值 */*zoom:1;/* 激活IE6、7的haslayout屬性,讓它讀懂Alpha */}.content p{position: relative;/* 設置子元素為相對定位,可讓子元素不繼承Alpha值 */}}</style></head><body><div class="content"><p>背景透明,內容也透明</p></div></body></html>
- 手機病毒表現是什么 手機中病毒的四種基本表現
- 如何看待戀人的戀愛史 如何準確看待戀愛中的成長
- 中國銀行2月起取消個人借記卡年費,希望其他銀行跟進 中國銀行借記卡年費可以取消嗎
- 紅鞋子綠鞋子 紅鞋子綠鞋子圖片
- 當上冠軍的小蜻蜓 小蜻蜓是誰
- 大狼和布娃娃讀后感 大狼和布娃娃
- 親親綠毛怪的讀后感 親親綠毛怪繪本圖片
- 手機編輯圖片的軟件哪個好用 手機編輯圖片的軟件哪個好可以打字上去
- 玩具大盜電影 玩具大盜
- 到小公雞家做客的故事 到小公雞家做客 圖片
