CSS3 漸變(gradients)能夠讓您在兩個或多個指定的顏色之間顯示平穩的過渡。php
之前,您必須使用圖像來實現這些效果。可是,經過使用 CSS3 漸變(gradients),您能夠減小下載的事件和寬帶的使用。此外,漸變效果的元素在放大時看起來效果更好,由於漸變(gradient)是由瀏覽器生成的。css
CSS3 定義了兩種類型的漸變(gradients):html
線性漸變(Linear Gradients)- 向下/向上/向左/向右/對角方向css3
徑向漸變(Radial Gradients)- 由它們的中心定義web
爲了建立一個線性漸變,您必須至少定義兩種顏色結點。顏色結點即您想要呈現平穩過渡的顏色。同時,您也能夠設置一個起點和一個方向(或一個角度)。瀏覽器
線性漸變的實例:spa
表中的數字指定了徹底支持該屬性的第一個瀏覽器版本。code
後邊跟 -webkit-、-moz- 或 -o- 的數字指定了需加上前綴才能支持屬性的第一個版本。orm
background: linear-gradient(direction, color-stop1, color-stop2, ...);
線性漸變 - 從上到下(默認狀況下)htm
下面的實例演示了從頂部開始的線性漸變。起點是紅色,慢慢過渡到藍色:
#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 將建立一個從下到上的漸變,90deg 將建立一個從左到右的漸變。
下面的實例演示瞭如何在線性漸變上使用角度:
帶有指定的角度的線性漸變: #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); /* 標準的語法 */ }