顏色

基礎(chǔ)知識

前端支持的顏色格式有RGB、HSL (HSV)等很多,這兩種瀏覽器可以直接支持。

RGB

rgba代表著red、green、blue、alpha,通過紅、綠、藍(lán)、透明四個維度描述一個顏色的信息。

HSL

hsla代表著hue、saturation、lightness、alpha,通過色調(diào)、飽和度、亮度、透明度四個維度描述一個顏色的信息。

在開發(fā)主題配置時會有很多用戶自定義的場景,如何將用戶的感覺量化,讓選擇決策更簡單?

我們遇到了什么問題?

1.如何只給背景增加透明度,讓前景文字顯示正常?

image.png

支持 toRgba('rgb(40 42 54/0.75)', { alpha: 1 }) 覆蓋透明度,讓顏色處理更方便

2.如何讓文字在背景顏色上顯示的更清晰?

image.png
image.png

【灰度化 】自定義背景色后的文字顯示不清,顏色灰度化后按照灰度比例控制文字顏色的黑白顯示。

image.png

【相對亮度】計算相對亮度控制文字黑白顏色顯示,效果更好

3.如何修改顏色明暗度?

image.png
image.png

線性的顏色對比,rgb顏色更偏向灰度效果

image.png

HSL處理后,更改亮度,效果更好

4.如何生成譜系化推薦色?

image.png
image.png

獲取一個顏色+100% ~ -100%的色階效果,支持max、min 區(qū)間控制

image.png

給一串顏色,平分中間譜系

5.如何處理顏色疊加問題?

image.png
image.png

加50%透明度擬合疊加處理

6.如何根據(jù)背景圖表獲取主題色?

https://www.npmjs.com/package/fast-average-color

還有很多顏色處理的方法,歡迎使用:

https://github.com/DPDFE/react-layout/tree/main/packages/event

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容