ToolAct工具行動

漸變生成器

線上CSS漸變生成工具,建立線性漸變、徑向漸變,可視化調整並一鍵複製程式碼

預覽
設定
顏色停止點
0%
100%
預設模板
CSS 程式碼
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

什麼是CSS漸變?

漸層工具用來產生可直接放進網頁與介面的 CSS 色彩漸層,例如背景、按鈕、卡片、圖表和設計原型。你可以調整顏色、色標位置、方向、角度與透明度,不需要手寫複雜的 linear-gradient 或 radial-gradient。它適合在品牌色之間尋找自然過渡,也適合檢查文字疊在漸層上是否仍然清楚。好的漸層不只是漂亮,還要保留對比、避免干擾內容,並在不同螢幕與明暗主題下維持穩定。

如何使用

如何使用

  1. 選擇漸層類型:線性或徑向
  2. 新增色彩停點並調整每個顏色的位置
  3. 線性漸層可設定角度方向(0–360 度)
  4. 即時預覽漸層效果
  5. 點選「複製程式碼」取得 CSS 程式碼
  6. 選擇預設樣式,快速套用常見漸層

CSS 使用提示

  • 在漸層上放置文字時,請檢查對比度與可讀性;顏色再漂亮也可能不符無障礙需求。
  • 在實際容器中測試產生的 CSS,因為漸層方向與色標位置在不同長寬比下呈現效果不同。

使用場景

建立包含線性、徑向或錐形色標的 CSS 漸層選擇線性漸層作為方向性背景,徑向漸層作為焦點光暈,或錐形漸層作為餅圖式的掃掠效果。至少加入兩個色彩停點,設定角度或中心點,然後直接將產生的 background 屬性複製到樣式表中,同時留意位置百分比,避免 0% 和 100% 塌陷成單一硬邊界。
從預設樣式快速開始並自訂套用經典、日落、海洋、森林、暖色、冷色或彩虹等預設樣式,然後針對按鈕、頁面背景、圖表填滿或視覺實驗調整顏色和位置。避免在 8 位元 sRGB 內容上使用彩虹預設,因為它跨越的色相落在最廣的色域範圍,在不支援 Display P3 的標準螢幕上會出現明顯的色帶。
匯出 1200x800 的 PNG 供無法讀取 CSS 的工具使用透過 Canvas 上的 createLinearGradient 或 createRadialGradient 下載產生的 PNG,用於投影片背景、模型圖、社群圖片或僅接受點陣圖輸入的匯入流程。如果目標環境會重新柵格化,請在 Canvas 版本上設定硬色標,因為漸層 PNG 以匯出時的解析度取樣,在平坦的天空區域可能產生色帶。
在亮色和暗色主題上測試漸層在白色卡片上看起來乾淨的中間色標,在暗色表面上可能會顯得蒼白。將 CSS 套用到亮色和暗色的樣本卡片上,確認標題文字在兩種背景下都保持 4.5:1 的對比度。4.5:1 來自 WCAG 2.1 AA 對內文的要求,通過此測試的結果通常可安全地用於產品文案、部落格首圖和電子郵件橫幅。
在上線前確認角度關鍵字頁面將角度欄位與 CSS 方向關鍵字分開呈現,因此 '135deg' 和 'to bottom right' 並不總是與預覽一致。將產生的 background 屬性貼到實際元素上確認方向,然後在將規則視為最終版之前,注意 Safari 上錐形漸層可能出現的缺口。

技術原理

CSS 漸層是影像值而非顏色——linear-gradient()、radial-gradient() 和 conic-gradient() 解析為 <image> 標記,瀏覽器在任何 background-image、mask-image 或 border-image 位置中將其柵格化。線性形式接受一個角度(0deg 向上,90deg 向右,順時針遞增)或 'to <side>' 關鍵字(由對角線計算得出),後接以逗號分隔的色彩停點列表,可帶百分比或長度位置。徑向形式接受形狀(circle | ellipse)、大小關鍵字(closest-side,預設為 farthest-corner)和 'at <position>' 錨點。錐形形式從 'from <angle>' 開始繞中心掃描停點,在 Chrome 69+、Safari 12.1+ 和 Firefox 83+ 中受支援。<br /><br />色彩插值預設為 sRGB,在感知上不均勻,會在藍色和黃色等遠距離色相之間產生灰濛的灰色帶。CSS Color Level 4 引入了 'in <colorspace>' 語法的顯式色彩空間——'in oklch'、'in lab'、'in srgb-linear'、'in hsl longer hue'——使過渡在整個色譜中保持彩度。硬色帶透過給兩個停點相同位置('red 50%, blue 50%')產生,色彩提示則在不插入停點的情況下移動中點('red, 20%, blue')。<br /><br />當漸層需要離開 CSS 管線時,Canvas 暴露了相同的原語:CanvasRenderingContext2D.createLinearGradient(x0, y0, x1, y1)、createRadialGradient(x0, y0, r0, x1, y1, r1) 和 createConicGradient(startAngle, x, y) 回傳 CanvasGradient 物件,接受 addColorStop(offset, color),可在匯出前透過 toDataURL('image/png') 賦值給 fillStyle。SVG 提供了標記等效的 <linearGradient> 和 <radialGradient>,其 spreadMethod 值為 'pad'(預設)、'reflect' 和 'repeat',用於平鋪行為。

  • 線性形式:linear-gradient(<angle> | to <side-or-corner>, <color-stop>+)——0deg 向上,順時針遞增;'to bottom right' 根據容器尺寸計算,而非固定的 135deg
  • 徑向形式:radial-gradient([<shape> <size>]? at <position>, <stops>)——大小關鍵字 closest-side、closest-corner、farthest-side、farthest-corner(預設)
  • 錐形形式:conic-gradient(from <angle> at <position>, <stops>)——繞中心掃描;Chrome 69+、Safari 12.1+、Firefox 83+
  • 色彩插值:CSS Color Level 4 'in oklch | lab | srgb-linear | hsl shorter|longer hue' 覆蓋感知不均勻的 sRGB 預設,避免遠距離色相之間出現灰色帶
  • 硬停點與提示:兩個停點在同一位置('red 50%, blue 50%')產生銳利色帶;單獨百分比('red, 20%, blue')是色彩提示,移動 50% 混合點
  • Canvas API:createLinearGradient(x0,y0,x1,y1)、createRadialGradient(x0,y0,r0,x1,y1,r1)、createConicGradient(angle,x,y) 回傳 CanvasGradient;addColorStop(offset, color) 然後賦值給 fillStyle
  • SVG 等效:<linearGradient> 和 <radialGradient> 搭配 spreadMethod='pad'|'reflect'|'repeat' 控制超出漸層邊界的平鋪

範例

簡易雙色漸層 (135deg)

background: linear-gradient(135deg, #667eea, #764ba2);
Use:      hero banner、區塊分隔;135deg 方向營造柔和的對角流動感

多色停駐點線性漸層

background: linear-gradient(90deg, #ff6b6b 0%, #feca57 50%, #48dbfb 100%);
Note:     三個固定百分比的色彩停駐點構成日落般的漸變;停駐點越多,過渡越豐富

放射狀漸層 (圓形)

background: radial-gradient(circle, #fff 0%, #000 100%);
Use:      暗角效果、聚光高光;'circle' 形狀關鍵字確保漸層維持圓形,不受容器尺寸影響

常見問題

可以產生哪些漸層類型?

CSS linear-gradient(預設)、radial-gradient 與 conic-gradient。線性漸層是直線;放射漸層由中心向外擴散;圓錐漸層則像派餅一樣繞著中心旋轉。每種類型在編輯器中都有自己的形狀參數。

可以加多少個色彩節點?

沒有硬性上限,但超過約 10 個節點會讓編輯變得繁瑣,產生的 CSS 也會變大。多數美觀的漸層只用 2 至 4 種顏色。頁面允許你拖曳節點沿著漸層軌道微調位置。

支援哪些輸出格式?

標準的 CSS background-image 語法,可直接貼到樣式表使用。部分版本也能輸出 PNG(依指定尺寸點陣化)、SVG(向量),或 Tailwind CSS 的任意值語法。

為什麼我的漸層看起來「分層」?

顏色相近、色域偏窄的漸層會出現可見色帶,因為螢幕每個通道僅有 256 階。可加入輕微雜訊(CSS filter 或 SVG 雜訊覆蓋),或選用對比較大的端點顏色。某些瀏覽器在漸層抖色處理上比其他瀏覽器更好。

如何做出「網格」或「多方向」漸層?

CSS 並沒有原生的網格漸層。你可以用多個含透明度的 radial-gradient 疊在同一個 background-image 中(多重背景,以逗號分隔)來近似。本頁可能提供「多節點」模式自動完成這件事。

可以使用透明度嗎?

可以。色彩節點接受 alpha(rgba 或帶 alpha 的 8 位十六進位)。可用來讓漸層淡入背景,或疊加多層漸層。現代瀏覽器都完整支援漸層節點的 alpha。

漸層是在本機產生的嗎?

是的。所有處理都在你的瀏覽器中完成。產生的 CSS 只是文字,點陣化匯出由 canvas 完成——不會上傳任何資料。