css 每天一練之背景漸變

以下來(lái)自CSS實(shí)現(xiàn)兼容性的漸變背景(gradient)效果 部分內(nèi)容

特別注意:IE9以下不支持漸變啤誊,需要使用IE的漸變?yōu)V鏡來(lái)實(shí)現(xiàn)漸變:

filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,
endcolorstr=blue,gradientType=1);

其中上面的濾鏡代碼主要有三個(gè)參數(shù)氏仗,依次是:startcolorstr, endcolorstr, 以及gradientType膳凝。
其中gradientType=1代表橫向漸變,gradientType=0代表縱向淅變。startcolorstr=”色彩” 代表漸變漸變起始的色彩秤涩,endcolorstr=”色彩” 代表漸變結(jié)尾的色彩潜慎。

上面代碼實(shí)現(xiàn)的是紅色至藍(lán)色的漸變捡多,但是不含透明度變化蓖康,這是由于IE目前尚未支持opacity屬性以及RGBA顏色,要實(shí)現(xiàn)IE下的透明度變化垒手,還是需要使用IE濾鏡蒜焊,IE的透明度濾鏡功能比較強(qiáng)大,這種強(qiáng)大反而與Firefox或是Safari瀏覽器下的css-gradient背景漸變的用法類(lèi)似科贬。

filter:alpha(opacity=100 finishopacity=0 style=1 startx=0,starty=5,finishx=90,finishy=60)

其中各個(gè)參數(shù)的含義如下:
opacity表示透明度泳梆,默認(rèn)的范圍是從0 到 100,他們其實(shí)是百分比的形式榜掌。也就是說(shuō)优妙,0代表完全透明,100代表完全不透明唐责。
finishopacity 是一個(gè)可選參數(shù)鳞溉,如果想要設(shè)置漸變的透明效果,就可以使用他們來(lái)指定結(jié)束時(shí)的透明度鼠哥。范圍也是0 到 100熟菲。
style用來(lái)指定透明區(qū)域的形狀特征:
0 代表統(tǒng)一形狀
1 代表線形
2 代表放射狀
3 代表矩形。
startx 漸變透明效果開(kāi)始處的 X坐標(biāo)朴恳。
starty 漸變透明效果開(kāi)始處的 Y坐標(biāo)抄罕。
finishx 漸變透明效果結(jié)束處的 X坐標(biāo)。
finishy 漸變透明效果結(jié)束處的 Y坐標(biāo)于颖。

兼容性的漸變背景效果
.gradient{
    width:300px;
    height:150px;
    filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);
    -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE8*/    
    background:red; /* 一些不支持背景漸變的瀏覽器 */  
    background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));  
    background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0.5)));  
    background:-o-linear-gradient(top, red, rgba(0, 0, 255, 0.5)); 
}

<div class="gradient"></div>
ie6下截圖(圖片來(lái)自原文)

以下來(lái)自菜鳥(niǎo)教程

從上到下的線性漸變
橫向線性漸變
#grad {
  background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(red, blue); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

linear-gradient(red, blue)中第一個(gè)參數(shù)是top所以可以省略呆贿,如果寫(xiě)成bottom線性漸變就從bottom開(kāi)始

縱向線性漸變
縱向線性漸變
#grad {
  background: -webkit-linear-gradient(left, red , blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(right, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(right, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(to right, red , blue); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

從上面兩個(gè)例子可以看出線性漸變主要控制linear-gradient(red, blue)中第一個(gè)參數(shù),如果寫(xiě)成left線性漸變從左邊開(kāi)始的縱向漸變森渐,right同理做入。

對(duì)角線性漸變
對(duì)角線性漸變
#grad {
  background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(to bottom right, red , blue); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

從上面的例子可以看出對(duì)角線性漸變也是控制linear-gradient(red, blue)中第一個(gè)參數(shù),如果寫(xiě)成left top線性漸變從左上角開(kāi)始的對(duì)角漸變同衣。

自定義角度的對(duì)角線性漸變

角度是指水平線和漸變線之間的角度竟块,逆時(shí)針?lè)较蛴?jì)算。換句話說(shuō)耐齐,0deg 將創(chuàng)建一個(gè)從下到上的漸變浪秘,90deg 將創(chuàng)建一個(gè)從左到右的漸變。
(但是埠况,請(qǐng)注意很多瀏覽器(Chrome,Safari,fiefox等)的使用了舊的標(biāo)準(zhǔn)耸携,即 0deg 將創(chuàng)建一個(gè)從左到右的漸變,90deg 將創(chuàng)建一個(gè)從下到上的漸變辕翰。換算公式 90 - x = y 其中 x 為標(biāo)準(zhǔn)角度夺衍,y為非標(biāo)準(zhǔn)角度。)


逆時(shí)針?lè)较?/div>
30deg的對(duì)角徑向漸變
#grad {
  background: -webkit-linear-gradient(30deg, red, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(30deg, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(30deg, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(30deg, red, blue); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

從上面的例子可以看出自定義對(duì)角線性漸變也是控制linear-gradient(red, blue)中第一個(gè)參數(shù)為要取得的水平線和漸變線之間的角度喜命。

多個(gè)顏色點(diǎn)的漸變
彩虹色漸變
#grad {
  /* Safari 5.1 - 6.0 */
  background: -webkit-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Opera 11.1 - 12.0 */
  background: -o-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Firefox 3.6 - 15 */
  background: -moz-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* 標(biāo)準(zhǔn)的語(yǔ)法 */
  background: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet); 
}

多個(gè)顏色點(diǎn)漸變也是控制linear-gradient()中的參數(shù)為多個(gè)多選的漸變顏色沟沙,其中顏色都可以使用rgba()來(lái)設(shè)置透明度的畴。

重復(fù)的線性漸變
重復(fù)的線性漸變
#grad {
  /* Safari 5.1 - 6.0 */
  background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Opera 11.1 - 12.0 */
  background: -o-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Firefox 3.6 - 15 */
  background: -moz-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* 標(biāo)準(zhǔn)的語(yǔ)法 */
  background: repeating-linear-gradient(red, yellow 10%, green 20%);
}

repeating-linear-gradient是重復(fù)線性漸變的關(guān)鍵,顏色后面跟的百分比是顏色所占比例尝胆。

徑向漸變

徑向漸變
#grad {
  background: -webkit-radial-gradient(red 5%, green 15%, blue 60%); /* Safari 5.1 - 6.0 */
  background: -o-radial-gradient(red 5%, green 15%, blue 60%); /* Opera 11.6 - 12.0 */
  background: -moz-radial-gradient(red 5%, green 15%, blue 60%); /* Firefox 3.6 - 15 */
  background: radial-gradient(red 5%, green 15%, blue 60%); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

radial-gradient是徑向漸變的關(guān)鍵,顏色后面的百分比是顏色所占比例护桦。

徑向漸變的形狀

shape 參數(shù)定義了形狀含衔。它可以是值 circleellipse。其中二庵,circle 表示圓形贪染,ellipse 表示橢圓形。默認(rèn)值是 ellipse催享。

正圓徑向漸變
#grad {
  background: -webkit-radial-gradient(circle,red 5%, green 15%, blue 60%); /* Safari 5.1 - 6.0 */
  background: -o-radial-gradient(circle,red 5%, green 15%, blue 60%); /* Opera 11.6 - 12.0 */
  background: -moz-radial-gradient(circle,red 5%, green 15%, blue 60%); /* Firefox 3.6 - 15 */
  background: radial-gradient(circle,red 5%, green 15%, blue 60%); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}
重復(fù)的徑向漸變
重復(fù)的徑向漸變
#grad {
  background: -webkit-repeating-radial-gradient(red 5%, green 15%, blue 60%); /* Safari 5.1 - 6.0 */
  background: -o-repeating-radial-gradient(red 5%, green 15%, blue 60%); /* Opera 11.6 - 12.0 */
  background: -moz-repeating-radial-gradient(red 5%, green 15%, blue 60%); /* Firefox 3.6 - 15 */
  background: repeating-radial-gradient(red 5%, green 15%, blue 60%); /* 標(biāo)準(zhǔn)的語(yǔ)法 */
}

repeating-radial-gradient是重復(fù)徑向漸變的關(guān)鍵杭隙,顏色后面跟的百分比是顏色所占比例。

在線編輯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末因妙,一起剝皮案震驚了整個(gè)濱河市痰憎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌攀涵,老刑警劉巖铣耘,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異以故,居然都是意外死亡蜗细,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)怒详,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)炉媒,“玉大人,你說(shuō)我怎么就攤上這事昆烁〉踔瑁” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵善玫,是天一觀的道長(zhǎng)水援。 經(jīng)常有香客問(wèn)我,道長(zhǎng)茅郎,這世上最難降的妖魔是什么蜗元? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮系冗,結(jié)果婚禮上奕扣,老公的妹妹穿的比我還像新娘。我一直安慰自己掌敬,他們只是感情好惯豆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布池磁。 她就那樣靜靜地躺著,像睡著了一般楷兽。 火紅的嫁衣襯著肌膚如雪地熄。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天芯杀,我揣著相機(jī)與錄音端考,去河邊找鬼。 笑死揭厚,一個(gè)胖子當(dāng)著我的面吹牛却特,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筛圆,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼裂明,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了太援?” 一聲冷哼從身側(cè)響起闽晦,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粉寞,沒(méi)想到半個(gè)月后尼荆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唧垦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年捅儒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片振亮。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巧还,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坊秸,到底是詐尸還是另有隱情麸祷,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布褒搔,位于F島的核電站阶牍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏星瘾。R本人自食惡果不足惜走孽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望琳状。 院中可真熱鬧磕瓷,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至硕盹,卻和暖如春符匾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘩例。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工待讳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仰剿。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像痴晦,于是被迫代替她去往敵國(guó)和親南吮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容