跳到取色器

顏色格式完整解說:HEX、RGB、HSL、OKLCH 等格式

同一個顏色有十幾種寫法。這裡說明每種格式的意思、什麼時候該用,以及同一個顏色在各種格式下的樣子。

閱讀時間約 1 分鐘

一個顏色,所有格式

下面的數值描述的都是同一個顏色,而且是即時計算的。點進轉換器就能試試你自己的顏色。

範例:#ff5733
格式值
HEX
RGB
HSL
HWB
Lab
LCH
OKLab
OKLCH
Display P3
CMYK

HEX 與 RGB

HEX 把紅、綠、藍各寫成兩位十六進位數字,從 00 到 ff。三位數的 HEX 是縮寫,每一位會重複一次;八位數則多了透明度。rgb() 把同樣的通道寫成 0 到 255 的數字。兩者描述的都是 sRGB,是相容性最好、最保險的選擇。

HSL 與 HWB

HSL 描述色相、飽和度和亮度,HWB 描述色相、白度和黑度。它們很好讀懂,但亮度和人眼的感受不一致,所以相同的數字在不同色相下看起來可能差很多。

LAB、LCH、OKLAB 與 OKLCH

這些格式是依照人類視覺設計的。LAB 和 LCH 來自 CIELAB。OKLAB 和 OKLCH 是較新的改良版,色相更穩定,藍色尤其明顯。設計系統、色階,以及任何需要亮度一致的地方,都建議使用 OKLCH。

CMYK

CMYK 描述青、洋紅、黃、黑四種油墨。這裡顯示的換算是與裝置無關的簡單公式。實際印刷效果取決於紙張、油墨和印表機的色彩描述檔,所以只把它當作起點,並向印刷廠索取描述檔。

Swift、Flutter 與 Android

行動平台有自己的語法。SwiftUI 和 UIKit 用 0 到 1 的數字表示紅、綠、藍。Flutter 和 Android 則用 32 位元的 ARGB 數字,前兩位十六進位數字是 Alpha 通道。

範例:#ff5733
格式值
SwiftUI
UIKit
Flutter / Compose
Android XML

常見問題

CSS 裡應該用哪種顏色格式?

需要最廣的相容性時用 HEX 或 rgb();設計 token、色階和廣色域顏色則用 OKLCH。目前所有主流瀏覽器都支援 OKLCH。

HEX 和 RGB 有什麼差別?

意義上沒有差別。HEX 用十六進位寫每個通道,rgb() 用十進位。#ff5733 和 rgb(255 87 51) 是同一個顏色。

為什麼 Android 色碼的順序不一樣?

Android 和 Flutter 使用 ARGB,Alpha 放在最前面:0xFFFF5733 就是完全不透明的 #ff5733。CSS 的八位數 HEX 則把 Alpha 放在最後。

在 PickShade 中試試看

相關指南