CSS漸變生成器

只需新增兩個或更多顏色節點,即可即時預覽並生成linear-gradient或radial-gradient的CSS程式碼。可自由調整角度和節點位置,生成的程式碼一鍵複製即可使用。

什麼是 CSS 漸層

CSS 漸層是不借助影像、僅憑樣式表便繪出由兩種以上顏色平滑相接的色帶或放射狀紋樣的機制。linear-gradient() 沿所指定的角度作直線式的色彩推移,radial-gradient() 則自中心向外畫圓般擴散。因可用文字書寫而輕量,放大也不會變粗糙,想改顏色時只需改寫數值即可。

本工具可一面在畫面上調整種類、角度與色標,一面當場確認結果,並把產生的 CSS 直接複製。色標最多可放6個,各自指定顏色與位置(%)。少於2個便不成其為漸層,會給出錯誤提示。另需注意角度採用 CSS 獨有的取法:0deg 為自下而上,90deg 為自左而右,與數學所用角度的零點方向不同。圓形(radial)沒有角度的概念,故角度的指定不起作用。

CSS 漸層的製作方式

  1. 選擇種類 想讓顏色作直線變化請選線性(linear),想自中心放射狀擴散請選圓形(radial)。
  2. 決定角度 僅在線性時有效。0deg 為自下而上,90deg 為自左而右,按順時針遞增。可拖動滑桿一邊調整一邊確認方向。
  3. 放置色標 用「新增顏色」最多可增至6個。為各色標指定顏色與位置(%),即可細緻地操控顏色切換之處。
  4. 以預覽確認 每次更改設定預覽都會重繪,可當場判斷色彩的交界是否過於生硬、方向是否合乎所想。
  5. 複製 CSS 按「複製 CSS」即放入剪貼簿,可直接貼到樣式表的 background 中。

用好本工具的小技巧

  • 最多可新增6個顏色節點,自由調整每個節點的顏色和位置(%),從而製作出複雜的多色漸變效果。
  • 線性漸變中,0度表示從下到上變化,90度表示從左到右變化,拖動滑塊即可直觀調整角度。
  • 徑向漸變沒有角度的概念,顏色會以圓形方式從中心向外擴散。
  • 點選“複製CSS”按鈕,即可將生成的程式碼複製到剪貼簿,直接貼上到樣式表中使用。

CSS 漸層的應用情境

為按鈕或徽章增添立體感

鋪上自上而下略微變暗的線性漸層,比單色更顯得可按。把色差保持得小一些,是使其看來自然的訣竅。

製作主視覺區的背景

在頁面上部的寬幅色帶上鋪以兩色以上的漸層,便可不載入任何影像而備下有印象力的背景,且不拖慢顯示速度。

聚光燈風格的演出

以圓形漸層使中心明亮、外側暗淡,即成光線照射般的表現。

在影像上疊加文字

在照片上疊加自半透明黑向透明推移的線性漸層,即便在照片的明亮處也能讀清文字。

想先定下顏色本身時

在挑選放入色標之顏色的階段請使用色彩代碼轉換;若要構思配色的組合,請使用配色調色盤

與 CSS 漸層相關的用語

linear-gradient
指繪製沿所指定角度作直線式色彩推移之漸層的 CSS 函式。適合帶狀背景與按鈕的填充。
radial-gradient
指繪製自中心點向外作圓形或橢圓形擴散之漸層的 CSS 函式,不具備角度的概念。
色標(color stop)
指在漸層途中放置的「此處用此色」的指定。位置以起點為0%、終點為100%的比例表示。
角度(deg)
指 linear-gradient 中顏色推移的方向。CSS 中 0deg 為自下而上,90deg 為自左而右,按順時針遞增,與數學一般所用角度的零點方向不同。
瀏覽器前綴
指如 -webkit- 這般,在標準化之前各瀏覽器各自提供功能時所加的前綴。漸層已完成標準化,故現今不再需要。
background 屬性
指用以指定元素背景的 CSS 屬性。漸層被視作背景影像的一種,故寫於此處。

常見問題

linear-gradient沿指定的角度以直線方式過渡顏色,常用於按鈕或條狀背景設計。而radial-gradient從中心點以圓形或橢圓形向外擴散顏色,適合表現聚光燈效果或立體感。

在CSS的linear-gradient()中,角度以度(deg)為單位指定。0deg表示從下到上,90deg表示從左到右,180deg表示從上到下。需要注意的是CSS的角度是按順時針方向計算的,這與數學上0度指向右側的常規定義不同。

顏色節點的位置表示該顏色在漸變起點(0%)到終點(100%)之間所處的位置。通過調整位置的分佈,可以讓顏色在某些區域變化得平緩,在另一些區域變化得急促。

linear-gradient和radial-gradient在Chrome、Firefox、Safari、Edge等所有主流瀏覽器中均可直接使用,無需新增瀏覽器字首,甚至可追溯到IE10。除非需要相容非常老舊的移動端瀏覽器,否則無需額外處理。
工具君

閒話 ― CSS漸變為何取代了漸變圖片

在CSS3出現之前,網頁上的漸變背景通常是用影像編輯軟體製作成PNG或JPEG圖片後作為背景使用的。但這種方法存在不少問題:額外的圖片請求會拖慢頁面載入速度,在響應式佈局中放大後畫質會變得模糊,而僅僅想修改一種顏色也需要重新匯出整張圖片。

2010年代初期,瀏覽器陸續實現了linear-gradient和radial-gradient語法後,這些問題基本得到了解決。由於漸變完全用文本描述,檔案體積輕量,無論放大縮小畫質都不會劣化,修改顏色也只需編輯樣式表中的幾個數值即可完成。

早期實現中,不同瀏覽器需要不同的廠商字首(-webkit-、-moz-、-o-等)且語法略有差異,開發者不得不為同一條規則編寫多個帶字首的版本。如今隨著W3C完成標準化,無字首的標準寫法已經可以在所有主流瀏覽器中穩定執行。