變色--線性漸變
人類對美的追求是無止境的,色彩的搭配是對美的最基本要求,而其中的漸變,就能給人一種舒緩的感覺,它不那么的突兀,給人一種不逼迫、緩緩地和高逼格感覺。
很流行的漸變網頁
Css3引入了漸變的功能,有線性漸變和徑向漸變兩種,今天介紹線性漸變。要注意的是,這里的漸變并不是顏色,而是一種特殊的圖像。所以只會在background-image里起作用。
兩種漸變
設置漸變色
background-image:linear-gradient(angle, color-stop1, color-stop2, ...)
方向圖
Angle:表示漸變的方向。有兩種選擇:
1、方向:上下左右,對角線
to+方向,表示最終的方向,to right表示往右依次渲染顏色。
例子:從左往右
background: linear-gradient(to right,red, yellow);
從下到上
background: linear-gradient(to top,red, yellow);
對角線,左上角對右下角
background: linear-gradient(to bottom right,red, yellow);
效果圖
2、角度
單位用deg,這個角度并不是順時針方向,而是逆時針。
角度圖
background: linear-gradient(0deg,red, yellow)等同于background: linear-gradient(to top,red, yellow);
color-stop:漸變點的顏色值,必須要有兩個漸變點。
除了可以設置多個漸變點,還可以規(guī)定漸變點的起始位置,以橫坐標平分100%為算。
例子,黃色漸變起始點在30%位置,綠色漸變起始點在60%
background: linear-gradient(to right,red, yellow 30%, lime 60%);
各占不同比值的顏色
結合透明度rgba,還可以給圖片加個淡入效果。
background:lineargradient(to right, rgba(255,255,255,0), rgba(255,255,255,1)), url("images/sky.jpg");
對比圖
這些僅僅只是漸變的基礎,還可以整出更炫酷的的東西。
很流行的漸變登錄框
漸變背景圖
知識導圖
總結
變是兩種或更多顏色的平滑過渡,是指在顏色集上使用逐步抽樣算法,并將結果應用于描邊樣式和填充樣式中。canvas的繪圖上下文支持兩種類型的漸變:線性漸變和放射性漸變,其中放射性漸變也稱徑向漸變。
繪制漸變圖形
創(chuàng)建一個簡單的漸變非常容易,可能比使用Photoshop還要快,需要三個步驟。
(1)創(chuàng)建漸變對象。
var gradient=cxt.createRadialGradient(0,0,0,canvas.height);
(2)為漸變對象設置顏色,指明過渡方式。
gradient.addColorStop(0,'#fff');
gradient.addColorStop(1,'#000');
(3)在context上為填充樣式或者描邊樣式設置漸變。
cxt.fillStyle=gradient;
要設置顯示顏色,在漸變對象上使用addColorStop函數(shù)即可。除了可以變換成其他顏色外,還可以為顏色設置alpha值(例如透明),并且alpha值也是可以變換的。為了達到這樣的效果,需要使用顏色值的另一種表示方法,如內置alpha組建的CSSrgba函數(shù)。
繪制線性漸變,會使用到如下表所示幾個方法。
(1)編寫代碼如下圖所示:
(2)在瀏覽器中打開文件,預覽效果圖如下所示,可以看到網頁中創(chuàng)建了一個垂直方向上的漸變,從上到下顏色逐漸變淺。
小提示:上面的代碼是2D環(huán)境對象產生了一個線性漸變對像,漸變的起始點是(0,0),漸變的結束點是(0,canvas.height),下面使用addColorStop函數(shù)設置漸變顏色,最后將漸變填充到上下文環(huán)境的樣式中。
下次將講繪制徑向漸變,HTML繪制漸變圖形(二)
家應該都知道,在進行網頁編程的時候有很多時候都會用到漸變色,但是CSS2處理漸變色比較困難,CSS3就比較方便了,所以今天蘇蘇老師就教大家用CSS3實現(xiàn)漸變色功能~
有自信的女性高管的復合形象,雙臂交叉
CSS3 漸變(Gradients)
CSS3 漸變(gradients)可以讓你在兩個或多個指定的顏色之間顯示平穩(wěn)的過渡。
以前,你必須使用圖像來實現(xiàn)這些效果。但是,通過使用 CSS3 漸變(gradients),你可以減少下載的時間和寬帶的使用。此外,漸變效果的元素在放大時看起來效果更好,因為漸變(gradient)是由瀏覽器生成的。
CSS3 定義了兩種類型的漸變:
線性漸變(Linear Gradients)- 向下/向上/向左/向右/對角方向
徑向漸變(Radial Gradients)- 由它們的中心定義
CSS3 線性漸變
為了創(chuàng)建一個線性漸變,你必須至少定義兩種顏色結點。顏色結點即你想要呈現(xiàn)平穩(wěn)過渡的顏色。同時,你也可以設置一個起點和一個方向(或一個角度)。
語法
background: linear-gradient(direction, color-stop1, color-stop2, ...);
線性漸變 - 從上到下
下面的實例演示了從頂部開始的線性漸變。起點是紅色,慢慢過渡到藍色:
從上到下的線性漸變代碼
#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); /* 標準的語法 */
}
線性漸變 - 從左到右
下面的實例演示了從左邊開始的線性漸變。起點是紅色,慢慢過渡到藍色:
代碼如下
#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); /* 標準的語法 */
}
線性漸變 - 對角
你可以通過指定水平和垂直的起始位置來制作一個對角漸變。
下面的實例演示了從左上角開始(到右下角)的線性漸變。起點是紅色,慢慢過渡到藍色:
從左上角到右下角的線性漸變代碼
#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); /* 標準的語法 */
}
使用角度
如果你想要在漸變的方向上做更多的控制,你可以定義一個角度,而不用預定義方向(to bottom、to top、to right、to left、to bottom right,等等)。
語法
background: linear-gradient(angle, color-stop1, color-stop2);
角度是指水平線和漸變線之間的角度,逆時針方向計算。換句話說,0deg 將創(chuàng)建一個從下到上的漸變,90deg 將創(chuàng)建一個從左到右的漸變。
但是,請注意很多瀏覽器(Chrome,Safari,fiefox等)的使用了舊的標準,即 0deg 將創(chuàng)建一個從左到右的漸變,90deg 將創(chuàng)建一個從下到上的漸變。換算公式 90 - x=y 其中 x 為標準角度,y為非標準角度。
下面的實例演示了如何在線性漸變上使用角度:
帶有指定的角度的線性漸變代碼
#grad {
background: -webkit-linear-gradient(180deg, red, blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(180deg, red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(180deg, red, blue); /* Firefox 3.6 - 15 */ background: linear-gradient(180deg, red, blue); /* 標準的語法 */
}
使用多個顏色結點
下面的實例演示了如何設置多個顏色結點:
多個顏色結點的從上到下的線性漸變代碼
#grad {
background: -webkit-linear-gradient(red, green, blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(red, green, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(red, green, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(red, green, blue); /* 標準的語法 */
}
下面的實例演示了如何創(chuàng)建一個帶有彩虹顏色和文本的線性漸變:
#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);
/* 標準的語法 */
background: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
使用透明度(transparent)
為了添加透明度,我們使用 rgba() 函數(shù)來定義顏色結點。rgba() 函數(shù)中的最后一個參數(shù)可以是從 0 到 1 的值,它定義了顏色的透明度:0 表示完全透明,1 表示完全不透明。
下面的實例演示了從左邊開始的線性漸變。起點是完全透明,慢慢過渡到完全不透明的紅色:
從左到右的線性漸變,帶有透明度代碼
#grad {
background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /* Safari 5.1 - 6 */
background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /* Opera 11.1 - 12*/
background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /* Firefox 3.6 - 15*/
background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /* 標準的語法 */
}
重復的線性漸變
repeating-linear-gradient() 函數(shù)用于重復線性漸變:
代碼如下
#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%);
/* 標準的語法 */
background: repeating-linear-gradient(red, yellow 10%, green 20%);
}
今天就教到這里了,大家都會了嗎?祝大家國慶快樂~
有什么問題和建議可以私信小編:"666"
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。