CSS 漸變
CSS 漸變使您可以顯示兩種或多種指定顏色之間的平滑過渡。
CSS 定義了兩種漸變類型:
- 線性漸變(向下/向上/向左/向右/對角線)
- 徑向漸變(由其中心定義)
CSS 線性漸變
如需創建線性漸變,您必須定義至少兩個色標。色標是您要呈現平滑過渡的顏色。您還可以設置起點和方向(或角度)以及漸變效果。
語法
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
線性漸變 - 從上到下(默認)
下面的例子顯示了從頂部開始的線性漸變。它從紅色開始,過渡到黃色:
實例
#grad { background-image: linear-gradient(red, yellow); }
線性漸變 - 從左到右
下面的例子展示了從左開始的線性漸變。它從紅色開始,過渡到黃色:
實例
#grad { background-image: linear-gradient(to right, red , yellow); }
線性漸變 - 對角線
您可以通過指定水平和垂直起始位置來實現對角漸變。
下面的例子展示了從左上角開始(到右下角)的線性漸變。它從紅色開始,過渡到黃色:
實例
#grad { background-image: linear-gradient(to bottom right, red, yellow); }
使用角度
如果希望對漸變角度做更多的控制,您可以定義一個角度,來取代預定義的方向(向下、向上、向右、向左、向右下等等)。值 0deg 等于向上(to top)。值 90deg 等于向右(to right)。值 180deg 等于向下(to bottom)。
語法
background-image: linear-gradient(angle, color-stop1, color-stop2);
這個角度指定水平線和漸變線之間的角度。
下面的例子展示了如何在線性漸變上使用角度:
實例
#grad { background-image: linear-gradient(-90deg, red, yellow); }
使用多個色標
下面的例子展示了帶有多個色標的線性漸變(從上到下):
實例
#grad { background-image: linear-gradient(red, yellow, green); }
下面的例子展示了如何使用彩虹色和一些文本創建線性漸變(從左到右):
實例
#grad { background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet); }
使用透明度
CSS 漸變還支持透明度,也可用于創建漸變效果。
如需添加透明度,我們使用 rgba() 函數來定義色標。 rgba() 函數中的最后一個參數可以是 0 到 1 的值,它定義顏色的透明度:0 表示全透明,1 表示全彩色(無透明)。
下面的例子展示了從左開始的線性漸變。它開始完全透明,然后過渡為全色紅色:
實例
#grad { background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); }
重復線性漸變
repeating-linear-gradient()
函數用于重復線性漸變:
實例
重復的線性漸變:
#grad { background-image: repeating-linear-gradient(red, yellow 10%, green 20%); }