← 返回文章

顏色轉換器

顏色轉換顏色HEXRGBRGBAHSLHSLACSS

在 CSS 或設計工具裡常會用到多種顏色寫法,輸入任一種即可同步轉成其他格式。

顏色轉換

上傳圖片後,在圖片上點擊即可吸取該點的顏色(純前端,不會上傳到任何伺服器)。

圖片吸色

上傳一張圖片,點擊畫面上任意位置即可取得該點的顏色(僅在瀏覽器內處理,不會上傳到伺服器)。

格式說明

格式範例說明
HEX#FF5733十六進位,6 碼 RRGGBB,可省略開頭 #
RGBrgb(255, 87, 51)紅、綠、藍各 0–255
RGBArgba(255, 87, 51, 0.8)同上,第四個參數為透明度 0–1(或 0–100%)
HSLhsl(11, 100%, 60%)色相 0–360°,飽和度與明度 0–100%
HSLAhsla(11, 100%, 60%, 0.8)同上,第四個參數為透明度 0–1

互轉對應

  • HEX / RGB / RGBA:HEX 每兩字元一組轉十進位即 R、G、B;RGBA 的 A 預設為 1。
  • HSL / HSLA:與 RGB 互轉為標準公式(色相 H、飽和 S、明度 L);輸入 HSLA 會保留透明度並同步到 RGBA。
  • 任一種格式變更後,其餘四種會即時更新。

什麼時候該用 HSL 而不是 HEX

HEX 和 RGB 描述的是「紅綠藍各多少」,機器好懂但人不好調;HSL 描述的是「什麼色相、多飽和、多亮」,比較貼近人怎麼想顏色。實務上 HSL 最好用的場景:

  • 做 hover / active 狀態:同一個顏色只動 L(明度)加減 10%,就是自然的深淺變化,不用重新挑色。
    Code
    --btn: hsl(215, 80%, 50%);
    --btn-hover: hsl(215, 80%, 42%); /* 只改 L */
    
  • 產生同色系色板:固定 H 和 S,用不同 L 拉出一整組(背景、邊框、文字)。
  • 微調「太亮/太淡」:直接動 L 或 S,比在 HEX 裡瞎猜兩位十六進位快得多。

反過來,跟設計稿、設計工具對接時 HEX 仍是最通用的交換格式,複製貼上最不會出錯。

HEX 的縮寫與 8 碼寫法

  • 3 碼縮寫#F53 等同 #FF5533,每一位重複展開;只有三組都能縮時才可用。
  • 8 碼(RRGGBBAA):最後兩碼是透明度,#FF573380 約等於 rgba(255, 87, 51, 0.5)。現代瀏覽器都支援,但部分舊工具不認得,交換時留意。

新一代 CSS 顏色寫法

CSS Color Module 之後,rgb() / hsl() 支援空格語法,透明度改用斜線:

Code
color: rgb(255 87 51 / 0.8);   /* 等同 rgba(255, 87, 51, 0.8) */
color: hsl(11 100% 60% / 0.8);

另外還有感知均勻的 oklch(),調亮度時色相不易跑掉,新專案的設計系統越來越常見;不過 HEX/RGB/HSL 仍是目前最通用的三種,先把這三種互轉搞熟就夠應付大多數情況。