CSS實現背景透明,文字不透明,相容所有瀏覽器

2021-07-13 05:40:56 字數 2424 閱讀 3744

11.11是公司成立的日子,16歲啦,我呢3歲半,感謝公司給了這樣乙個平台,讓我得以學習和成長,這裡祝願公司發展越來越好~

進入主題,每年11月11號是光棍節,產生於校園,本來只是一流傳於年輕人的娛樂性節日,以慶祝自己仍是單身一族為驕傲,而如今是各大商家以脫光為由打折**的時期,成為了所謂的」購物節「,雙11也算了,後面還要搞雙12,不得不吐槽下。

於是呢,熬夜加班做了11.11的活動,在pc端遇到了透明背景和透明的問題,其實以前也遇到過,只是沒有總結起來,就忘記了,這次又撞牆了,必須記錄下來,一來給自己做個小總結,提個醒,最近變懶了,再不努力就要倒掛了;二來是因為在網路上並沒有完整的解決方案,希望可以幫助到遇到此類問題的朋友,今天主要講解背景透明的解決方案,共勉~

重點內容入口:

測試瀏覽器:

virtie6、虛擬機器下xp的ie6、純正ie8、純正ie8下qq瀏覽器、win7下的ie 9.0.32 、win8下的ie 10.0.21、chrome 38.0 、qq瀏覽器8.0-ie10.0.5、safari 5.1.7、opera 25.0

我們平時所說的調整透明度,其實在樣式中是調整不透明度,如下圖所示例:

開啟ps,在圖層面板上,可以看到設定圖層整理不透明度的選單,從 0% (完全透明)到 100%(完全不透明)。

實現透明的css方法通常有以下3種方式,以下是不透明度都為80%的寫法

相容性:ie6、7、8不支援,ie9及以上版本和標準瀏覽器都支援

使用說明:設定opacity元素的所有後代元素會隨著一起具有透明性,一般用於調整或者模組的整體不透明度

背景透明,文字也透明

使用opacity後整個模組都透明了,展現如下:

那麼使用opacity實現《背景透明,文字不透明》是不可取的。

相容性:ie6、7、8不支援,ie9及以上版本和標準瀏覽器都支援

使用說明:設定顏色的不透明度,一般用於調整background-color、color、box-shadow等的不透明度。

背景透明,文字也透明

在background-color中使用rgba,標準瀏覽器中,背景透明,文字不透明,展現如下:

很奇葩的是,ie6和部分ie7核心的瀏覽器(如qq瀏覽器)會讀懂rgba,解析後顏色為透明,其實應該是null

那麼使用opacity實現背景透明,文字不透明是可取的。

僅支援ie6、7、8、9,在ie10版本被廢除

在ie6、7中,需要啟用ie的haslayout屬性(如:*zoom:1或者*overflow:hidden),讓它讀懂filter:alpha

在ie6、7、8中,設定了filter:alpha的元素,父元素設定position:static(預設屬性),其子元素為相對定位,可讓子元素不透明

背景透明,文字不透明

上以上3點分析可知,設定透明背景文字不透明,可採用的屬性有rgba和ie的專屬濾鏡filter:alpha,其相容性如下圖所示:

針對ie6、7、8瀏覽器,我們可以採用fiter:alpha,針對標準瀏覽器我們採用rgba,那麼問題來了,ie9瀏覽器2個屬性都支援,一起使用會重複降低不透明度...

那麼,如何只對ie6、7、8使用fiter:alpha如何實現呢?2年前寫過《css hack整理》一文,最新我也做了點更新,裡面有ie的相關hack,找到只支援ie 6、7、8的方案,如下:

/* 只支援ie6、7、8 */

@media \0screen\,screen\9

ok,所有問題都解決了,全部**如下:

背景透明,文字不透明

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

設定元素的透明度 moz opacity 0.8 在firefox中設定元素透明度 filter alpha opacity 80 ie使用濾鏡設定透明但是當我們對乙個標籤設定背景的透明度時,往往我們並不希望該標籤上的文字也變成半透明了。例如 不透明p div div 可以很明顯的看出文字也被半透明...

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

moz opacity 0.8 在firefox中設定元素透明度 filter alpha opacity 80 ie使用濾鏡設定透明 但是當我們對乙個標籤設定背景的透明度時,往往我們並不希望該標籤上的文字也變成半透明了。例如 不透明 div可以很明顯的看出文字也被半透明的,這是我們不想看到的效果。...

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

實現透明的css方法通常有以下3種方式,以下是不透明度都為80 的寫法 相容性 ie6 7 8不支援,ie9及以上版本和標準瀏覽器都支援 背景透明,文字也透明 使用opacity後整個模組都透明了,展現如下 那麼使用opacity實現 背景透明,文字不透明 是不可取的。相容性 ie6 7 8不支援,...