十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章主要講解了“如何使用css3背景漸變中的透明度來(lái)設(shè)置不同顏色的背景漸變”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何使用css3背景漸變中的透明度來(lái)設(shè)置不同顏色的背景漸變”吧!
阿拉爾ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
項(xiàng)目最近這幾天正在做不同主題的顏色配置方案,要根據(jù)用戶輸入的顏色來(lái)配置整個(gè)主題的顏色,讓人頭疼的是,其中一個(gè)主題所有的列表頭部背景色都是2到3組漸變值的線性漸變,也就是說(shuō),要根據(jù)用戶輸入的顏色值生成不同的但相似度很近的漸變顏色。我上網(wǎng)查了些資料,現(xiàn)在也有js支持根據(jù)你輸入的網(wǎng)頁(yè)內(nèi)容自動(dòng)填充漸變色,但是對(duì)于我這種js不是很好的人來(lái)說(shuō),還是想從css3上找點(diǎn)方法出來(lái)。
我發(fā)現(xiàn)css3的背景漸變中的透明度可以解決這個(gè)問(wèn)題(前提是背景漸變的顏色是相近的)。
我在這里簡(jiǎn)單說(shuō)一下css3背景漸變中的線性漸變。線性漸變的一般結(jié)構(gòu)是:
代碼如下:
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
其中各個(gè)瀏覽器渲染不同,又分為:
Webkit:
代碼如下:
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
漸變類型 - 在屬性里-webkit-linear-gradient
漸變從哪開始(top)
顏色取值和在漸變中的位置 (rgba(0,0,0,0.1) 40%)
下面的寫法是用于safari舊版本的
代碼如下:
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(98%, rgba(0, 0, 0, 0.2)),color-stop(100%, #FFFFFF));
漸變類型 (linear)
漸變開始的X Y 軸坐標(biāo)(0 0 或者left-top)
漸變結(jié)束的X Y 軸坐標(biāo)(0 100% 或者left-bottom)
顏色取值 (color-stop(40%, rgba(0,0,0,0.1)))
Mozilla:
代碼如下:
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
Firefox渲染漸變的寫法和Safari大致相同,不同的是需要將漸變屬性改為-moz-linear-gradient
Opera:
代碼如下:
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
按照上面的寫法,讓Opera瀏覽器渲染直接將屬性改為-o-linear-gradient,是不是很簡(jiǎn)單?
IE:
IE比較頑固,不支持漸變,但是提供了漸變?yōu)V鏡
代碼如下:
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#22FFFFFF', EndColorStr='#33000000');
說(shuō)了這么多,大家對(duì)例子里rgba(0, 0, 0, 0.1) 中的0.1是不是很好奇?沒(méi)錯(cuò),解決這個(gè)頭疼問(wèn)題的關(guān)鍵就是它 - 漸變透明度。設(shè)置漸變透明度(值從0.1-0.9)可以使?jié)u變顏色處在不同值的透明度下,也就是說(shuō)通過(guò)透明度,背景可以呈現(xiàn)不同透明度下的背景顏色。
下面圖片是用上面代碼生成的背景漸變:
是不是看不出漸變透明(感覺(jué)灰灰的)?沒(méi)錯(cuò),因?yàn)轭伾≈凳菑陌椎胶?,那中間的過(guò)渡色自然就是灰色的了。但是如果你在加上一個(gè)背景顏色的話,那效果就出來(lái)了。
比如我們加個(gè)background-color: #92D050:
你只需要配置background-color, 就可以讓背景呈現(xiàn)不同的漸變色。
完整的代碼:
代碼如下:
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.1)), color-stop(98%, rgba(0, 0, 0, 0.2)),color-stop(100%, #FFFFFF));
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#22FFFFFF', EndColorStr='#33000000');
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
background-color: #669900;
其中rgba()中的顏色(rgb)一般取白色(255,255,255)或者黑色(0,0,0), 而透明度的設(shè)置就看你自己想要什么樣的漸變效果了。
下面是幾個(gè)不同漸變色的例子:
代碼如下:
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 10%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
代碼如下:
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 2%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.2) 98%, #FFFFFF 100%);
代碼如下:
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 2%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.2) 98%, rgba(255, 255, 255, 0.9) 99%);
所以如果能很好的運(yùn)用背景漸變的透明度,可以在很大程度上定義統(tǒng)一的背景漸變色,而用戶只需要輸入一個(gè)顏色域,就可以把主題配置成想要的漸變效果。不過(guò)遺憾的是,這種方法就現(xiàn)在而言,只能適用于背景漸變顏色相近的主題。多余一種顏色的背景漸變還是得用這種寫法
代碼如下:
background: linear-gradient(to bottom, #396E8E 0%, #336888 29%, #225777 67%, #194E6E 100%);
感謝各位的閱讀,以上就是“如何使用css3背景漸變中的透明度來(lái)設(shè)置不同顏色的背景漸變”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何使用css3背景漸變中的透明度來(lái)設(shè)置不同顏色的背景漸變這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!