CSS lab() 颿°
Baseline
åºãå©ç¨å¯è½
*
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2023å¹´5æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
* ãã®æ©è½ã®ä¸é¨ã¯ã対å¿ã¬ãã«ãç°ãªãå ´åãããã¾ãã
lab() 颿°è¨æ³ã¯ãæå®ãããè²ã CIE L*a*b* è²ç©ºéã§è¡¨ç¾ãã¾ãã
Lab ã¯ãè²ã®æåº¦ã赤/ç·è»¸ã®å¤ãé/é»è»¸ã®å¤ãããã³ãªãã·ã§ã³ã®ã¢ã«ãã¡ééå¤ãæå®ãããã¨ã§ã人éãèªèã§ããå ¨è²åã表ãã¾ãã
æ§æ
/* 絶対çãªå¤ */
lab(29.2345% 39.3825 20.0664);
lab(52.2345% 40.1645 59.9971);
lab(52.2345% 40.1645 59.9971 / .5);
/* ç¸å¯¾å¤ */
lab(from green l a b / 0.5)
lab(from #123456 calc(l + 10) a b)
lab(from hsl(180 100% 50%) calc(l - 10) a b)
å¤
以ä¸ã¯ã絶対è²ã¨ç¸å¯¾è²ã®ä¸¡æ¹ã«å¯¾ãã¦ä½¿ç¨ã§ããå¤ã®èª¬æã§ãã
絶対çãªå¤ã®æ§æ
lab(L a b[ / A])
弿°ã¯ä»¥ä¸ã®éãã§ãã
L-
<number>ã§0ï½100ã®ç¯å²ãã<percentage>ã§0%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ãããã¯è²ã®æãããæå®ãã¾ããããã§æ°å¤0ã¯0%ï¼é»ï¼ã«ãæ°å¤100ã¯100%ï¼ç½ï¼ã«å¯¾å¿ãã¾ãã a-
<number>ã§-125ï½125ã®ç¯å²ãã<percentage>ã§-100%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ããã®å¤ã¯ãè²èª¿ã®a軸ä¸ã§ã®è·é¢ãæå®ãããã®è²èª¿ãç·ï¼-125æ¹åã¸ç§»åï¼ã赤ï¼+125æ¹åã¸ç§»åï¼ããå®ç¾©ãã¾ãããããã®å¤ã¯ç¬¦å·ä»ãï¼æ£è² 両æ¹ã®å¤ããããã¨ãã§ããï¼ã§ãããçè«ä¸ã¯å¶éããªããã¨ã«æ³¨æãã¦ãã ãããã¤ã¾ãã±125ï¼Â±100%ï¼ã®å¶éå¤ã®å¤ãè¨å®ã§ãã¾ããå®éã«ã¯ãå¤ã¯Â±160ãè¶ ãããã¨ã¯ã§ãã¾ããã b-
<number>ã§-125ï½125ã®ç¯å²ãã<percentage>ã§-100%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ããã®å¤ã¯ãè²èª¿ã®b軸ä¸ã§ã®è·é¢ãæå®ãããã®è²èª¿ãéï¼-125æ¹åã¸ç§»åï¼ãé»ï¼+125æ¹åã¸ç§»åï¼ããå®ç¾©ãã¾ãããããã®å¤ã¯ç¬¦å·ä»ãï¼æ£è² 両æ¹ã®å¤ããããã¨ãã§ããï¼ã§ãããçè«ä¸ã¯å¶éããªããã¨ã«æ³¨æãã¦ãã ãããã¤ã¾ãã±125ï¼Â±100%ï¼ã®å¶éå¤ã®å¤ãè¨å®ã§ãã¾ããå®éã«ã¯ãå¤ã¯Â±160ãè¶ ãããã¨ã¯ã§ãã¾ããã Açç¥å¯-
ã¢ã«ãã¡ãã£ãã«å¤ã表ã
<alpha-value>ã§ãæ°å¤0ã¯0%ï¼å®å ¨ã«éæï¼ã1ã¯100%ï¼å®å ¨ã«ä¸éæï¼ã«å¯¾å¿ãã¾ããããã«ãã¼ã¯ã¼ãnoneã使ç¨ãã¦æç¤ºçã«ã¢ã«ãã¡ãã£ãã«ãæå®ããªããã¨ãå¯è½ã§ããAãã£ãã«å¤ãæç¤ºçã«æå®ããã¦ããªãå ´åãããã©ã«ã㯠100% ã§ããAãã£ãã«å¤ãå«ããå ´åã¯ãå¤ã®åã«ã¹ã©ãã·ã¥ (/) ãä»ãã¾ãã
ã¡ã¢:
none ã®å¹æã«ã¤ãã¦ã¯è²æåã®æ¬ è½ãåç
§ãã¦ãã ããã
ç¸å¯¾å¤ã®æ§æ
lab(from <color> L a b[ / A])
弿°ã¯ä»¥ä¸ã®éãã§ãã
from <color>-
ç¸å¯¾è²ãå®ç¾©ããå ´åã¯ããã¼ã¯ã¼ã
fromã常ã«å«ã¾ããæ¬¡ã«èµ·ç¹è²ã表ã<color>ãç¶ãã¾ããããã¯ç¸å¯¾è²ã®ãã¼ã¹ã¨ãªãèµ·ç¹ã®è²ã§ããèµ·ç¹è²ã«ã¯ãå¥ã®ç¸å¯¾è²ãå«ã ä»»æ ã®æå¹ãª<color>æ§æã使ç¨ã§ãã¾ãã L-
<number>ã§0ï½100ã®ç¯å²ãã<percentage>ã§0%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ãããã¯è²ã®æãããæå®ãã¾ããããã§æ°å¤0ã¯0%ï¼é»ï¼ã«ãæ°å¤100ã¯100%ï¼ç½ï¼ã«å¯¾å¿ãã¾ãã a-
<number>ã§-125ï½125ã®ç¯å²ãã<percentage>ã§-100%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ããã®å¤ã¯ãåºåè²ã®a軸ä¸ã§ã®è·é¢ã表ãããã®è²èª¿ãç·ï¼-125æ¹åã¸ç§»åï¼ã赤ï¼+125æ¹åã¸ç§»åï¼ããå®ç¾©ãã¾ãããããã®å¤ã¯ç¬¦å·ä»ãï¼æ£è² 両æ¹ã®å¤ããããã¨ãã§ããï¼ã§ãããçè«ä¸ã¯å¶éããªããã¨ã«æ³¨æãã¦ãã ãããã¤ã¾ãã±125ï¼Â±100%ï¼ã®å¶éå¤ã®å¤ãè¨å®ã§ãã¾ããå®éã«ã¯ãå¤ã¯Â±160ãè¶ ãããã¨ã¯ã§ãã¾ããã b-
<number>ã§-125ï½125ã®ç¯å²ãã<percentage>ã§-100%ï½100%ã®ç¯å²ããã¾ãã¯ãã¼ã¯ã¼ãnoneã§ãï¼ãã®å ´åã¯0%ã¨ç価ã§ãï¼ããã®å¤ã¯ãåºåè²ã®b軸ä¸ã§ã®è·é¢ã表ãããã®è²èª¿ãéï¼-125æ¹åã¸ç§»åï¼ãé»ï¼+125æ¹åã¸ç§»åï¼ããå®ç¾©ãã¾ãããããã®å¤ã¯ç¬¦å·ä»ãï¼æ£è² 両æ¹ã®å¤ããããã¨ãã§ããï¼ã§ãããçè«ä¸ã¯å¶éããªããã¨ã«æ³¨æãã¦ãã ãããã¤ã¾ãã±125ï¼Â±100%ï¼ã®å¶éå¤ã®å¤ãè¨å®ã§ãã¾ããå®éã«ã¯ãå¤ã¯Â±160ãè¶ ãããã¨ã¯ã§ãã¾ããã Açç¥å¯-
ã¢ã«ãã¡ãã£ãã«å¤ã表ã
<alpha-value>ã§ãæ°å¤0ã¯0%ï¼å®å ¨ã«éæï¼ã1ã¯100%ï¼å®å ¨ã«ä¸éæï¼ã«å¯¾å¿ãã¾ããããã«ãã¼ã¯ã¼ãnoneã使ç¨ãã¦æç¤ºçã«ã¢ã«ãã¡ãã£ãã«ãæå®ããªããã¨ãå¯è½ã§ããAãã£ãã«å¤ãæç¤ºçã«æå®ããã¦ããªãå ´åãããã©ã«ãã¯èµ·ç¹è²ã®ã¢ã«ãã¡ãã£ãã«ã§ããAãã£ãã«å¤ãå«ããå ´åã¯ãå¤ã®åã«ã¹ã©ãã·ã¥ (/) ãä»ãã¾ãã
ã¡ã¢:
é常ãCSS ã«ããã¦ãã¼ã»ã³ãå¤ã«ç¸å½ããæ°å¤ãããå ´åã100% ã¯æ°å¤ 1 ã«çãããªãã¾ããããã以ä¸ã®ããã«ãLab ã®æåº¦ã¨ a 軸ãb 軸ã«ã¤ãã¦ã¯ãã®éãã§ã¯å¸¸ã«ããã¾ãããL ã®å ´åãç¯å²ã¯ 0 ãã 100 ã§ã100% 㯠100 ã«ç¸å½ãã¾ããa 㨠b ã®å¤ã¯æ£ã®å¤ã¨è² ã®å¤ã®ä¸¡æ¹ãããã100% 㯠125 ã«ã-100% 㯠-125 ã«ããããç¸å½ãã¾ãã
ç¸å¯¾è²åºåãã£ãã«æåã®å®ç¾©
lab() 颿°å
ã§ç¸å¯¾è²æ§æã使ç¨ããå ´åããã©ã¦ã¶ã¼ã¯èµ·ç¹è²ãç価㮠Lab è²ã«å¤æãã¾ãï¼ãã§ã«ãã®ããã«æå®ããã¦ããªãå ´åï¼ãè²ã¯ 3 ã¤ã®ç°ãªãè²ãã£ãã«å¤ - lï¼æåº¦ï¼ãaï¼ç·/赤ã®è»¸ï¼ãbï¼é/é»ã®è»¸ï¼- ããã³ã¢ã«ãã¡ãã£ãã«å¤ (alpha) ã¨ãã¦å®ç¾©ããã¾ãããããã®ãã£ãã«å¤ã¯ãåºåè²ãã£ãã«å¤ãå®ç¾©ããéã«é¢æ°å
ã§ä½¿ç¨ã§ãã¾ãã
lãã£ãã«ã¯0以ä¸100以ä¸ã®<number>ã«è§£æ±ºãã¾ããaã¨bãã£ãã«ã¯ãããã-125以ä¸125以ä¸ã®<number>ã«è§£æ±ºãã¾ããalphaãã£ãã«ã¯0以ä¸1以ä¸ã®<number>ã«è§£æ±ºãã¾ãã
ç¸å¯¾è²ãå®ç¾©ããéãåºåè²ã®ãã¾ãã¾ãªãã£ãã«ãããã¤ãã®ç°ãªãæ¹æ³ã§è¡¨ç¾ã§ãã¾ãã以ä¸ã§ã¯ããããã説æããããã«ããã¤ãã®ä¾ãè¦ã¦ããã¾ãã
以ä¸ã®æåã® 2 ã¤ã®ä¾ã§ã¯ç¸å¯¾è²æ§æã使ç¨ãã¦ãã¾ãããæåã®ãã®ã¯èµ·ç¹è²ã¨åãè²ãåºåãã2 çªç®ã®ãã®ã¯èµ·ç¹è²ã«ã¾ã£ããåºã¥ãã¦ããªãè²ãåºåãã¾ãããããã¯å®éã«ã¯ç¸å¯¾è²ã使ãã¦ãã¾ããï¼å®éã®ã³ã¼ããã¼ã¹ã§ãããã使ç¨ãããã¨ã¯ã»ã¨ãã©ãªãã代ããã«çµ¶å¯¾è²å¤ã使ç¨ãããã¨ã«ãªãã§ãããããããã®ä¾ã¯ç¸å¯¾ç㪠lab() æ§æã«ã¤ãã¦å¦ã¶ããã®åºçºç¹ã¨ãã¦å«ã¾ãã¦ãã¾ãã
ã¾ããhsl(0 100% 50%)ï¼red ã¨åçï¼ã®èµ·ç¹è²ããå§ãã¾ããããæ¬¡ã®é¢æ°ã¯èµ·ç¹è²ã¨åãè²ãåºåãã¾ãããã®é¢æ°ã¯ãèµ·ç¹è²ã® lãaãb ãã£ãã«å¤ï¼54.29ã80.8198ã69.8997ï¼ãåºåãã£ãã«å¤ã¨ãã¦ä½¿ç¨ãã¾ãã
lab(from hsl(0 100% 50%) l a b)
ãã®é¢æ°ã®åºåè²ã¯ lab(54.29 80.8198 69.8997) ã§ãã
次ã®é¢æ°ã¯ãåºåè²ã®ãã£ãã«å¤ã«çµ¶å¯¾çãªå¤ã使ç¨ãã¦ããã®ã§ãèµ·ç¹è²ã«åºã¥ããªãã¾ã£ããç°ãªãè²ãåºåãã¾ãã
lab(from hsl(0 100% 50%) 29.692% 44.89% -29.034%)
ä¸è¨ã®å ´åãåºåè²ã¯ lab(29.692 56.1125 -36.2925) ã§ãã
次ã®é¢æ°ã¯ãèµ·ç¹è²ã«åºã¥ãã¦ç¸å¯¾è²ã使ãã¾ãã
lab(from hsl(0 100% 50%) l -100 b)
ãã®ä¾ã§ã¯ã次ã®ãã¨ãè¡ããã¾ãã
hsl()ã®èµ·ç¹è²ãåçã®lab()è²ã«å¤æãã¾ãï¼lab(54.29 80.8198 69.8997)ï¼ã- åºåè²ã®
lããã³bãã£ãã«å¤ããèµ·ç¹è²ã®lab()ç¸å½å¤ã®Lããã³bãã£ãã«å¤ãããªãã¡ãããã54.29ã¨69.8997ã«è¨å®ãã¾ãã - åºåè²ã®
aãã£ãã«å¤ããèµ·ç¹è²ã®hwb()ç¸å½å¤ã®aãã£ãã«å¤ãããªãã¡-100ã«è¨å®ãã¾ãã
æçµçãªåºåè²ã¯ lab(54.29 -100 69.8997) ã¨ãªãã¾ãã
ã¡ã¢: åè¿°ããããã«ãåºåè²ãèµ·ç¹è²ã¨ç°ãªãè²ã¢ãã«ã使ç¨ãã¦ããå ´åãèµ·ç¹è²ã¯ããã¯ã°ã©ã¦ã³ãã§åºåè²ã¨åãã¢ãã«ã«å¤æãããäºææ§ã®ããæ¹æ³ã§è¡¨ç¾ããã¾ãï¼ã¤ã¾ããåããã£ãã«ã使ç¨ãã¾ãï¼ã
ããã¾ã§ã«è¦ã¦ããä¾ã¯ãèµ·ç¹ããã³åºåã«ããã¦ãã¢ã«ãã¡ãã£ãã«ãæç¤ºçã«æå®ããã¦ãã¾ãããåºåè²ã®ã¢ã«ãã¡ãã£ãã«ãæå®ããã¦ããªãå ´åãèµ·ç¹è²ã®ã¢ã«ãã¡ãã£ãã«ã¨åãå¤ã«ãªãã¾ããèµ·ç¹è²ã®ã¢ã«ãã¡ãã£ãã«ãæå®ããã¦ããªãå ´åï¼ãã¤ãããç¸å¯¾è²ã§ãªãå ´åï¼ãããã©ã«ãå¤ã¯ 1 ã§ãããããã£ã¦ãä¸è¨ã®ä¾ã®èµ·ç¹è²ããã³åºåè²ã®ã¢ã«ãã¡ãã£ãã«å¤ã¯ 1 ã§ãã
èµ·ç¹ããã³åºåã®ã¢ã«ãã¡ãã£ãã«å¤ãæå®ããä¾ãè¦ã¦ã¿ã¾ããããæåã®ä¾ã§ã¯ãåºåã¢ã«ãã¡ãã£ãã«å¤ãèµ·ç¹ã¢ã«ãã¡ãã£ãã«å¤ã¨åãå¤ã«è¨å®ãã2 çªç®ã®ä¾ã§ã¯ãèµ·ç¹ã¢ã«ãã¡ãã£ãã«å¤ã¨ã¯é¢ä¿ãªãç°ãªãåºåã¢ã«ãã¡ãã£ãã«å¤ãè¨å®ãã¾ãã
lab(from hsl(0 100% 50% / 0.8) l a b / alpha)
/* è¨ç®ãããåºåè²: lab(54.29 80.8198 69.8997 / 0.8) */
lab(from hsl(0 100% 50% / 0.8) l a b / 0.5)
/* è¨ç®ãããåºåè²: lab(54.29 80.8198 69.8997 / 0.5) */
次ã®ä¾ã§ã¯ãhsl() ã®èµ·ç¹è²ã¯åã³ lab() ç¸å½è²ã§ãã lab(54.29 80.8198 69.8997) ã«å¤æããã¾ããcalc() ã®è¨ç®ã LãaãbãA ã®åå¤ã«é©ç¨ãããçµæã¨ãã¦åºåè²ã¯ lab(74.29 60.8198 29.8997 / 0.9) ã¨ãªãã¾ãã
lab(from hsl(0 100% 50%) calc(l + 20) calc(a - 20) calc(b - 40) / calc(alpha - 0.1))
ã¡ã¢:
èµ·ç¹è²ã®ãã£ãã«ã¯ <number> å¤ã«è§£æ±ºããããããé常ãã£ãã«ã <percentage>ã<angle>ãã¾ãã¯ä»ã®å¤åãåãå
¥ããå ´åã§ããè¨ç®ã§ä½¿ç¨ããéã«ã¯æ°å¤ãå ããå¿
è¦ãããã¾ããä¾ãã° <percentage> ã <number> ã«å ãããã¨ã¯ã§ãã¾ããã
形弿æ³
<lab()> =
lab( [ from <color> ]? [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ <percentage> | <number> | none ] [ / [ <alpha-value> | none ] ]? )
<alpha-value> =
<number> |
<percentage>
ä¾
>æããã®èª¿æ´
次ã®ä¾ã¯ãlab() 颿°ã®æåº¦å¤ãå¤åãããéã®å¹æã示ãã¦ãã¾ãã
HTML
<div data-color="red-dark"></div>
<div data-color="red"></div>
<div data-color="red-light"></div>
<div data-color="green-dark"></div>
<div data-color="green"></div>
<div data-color="green-light"></div>
<div data-color="blue-dark"></div>
<div data-color="blue"></div>
<div data-color="blue-light"></div>
CSS
[data-color="red-dark"] {
background-color: lab(5 125 71);
}
[data-color="red"] {
background-color: lab(40 125 71);
}
[data-color="red-light"] {
background-color: lab(95 125 71);
}
[data-color="green-dark"] {
background-color: lab(10% -120 125);
}
[data-color="green"] {
background-color: lab(50% -120 125);
}
[data-color="green-light"] {
background-color: lab(90% -120 125);
}
[data-color="blue-dark"] {
background-color: lab(10 -120 -120);
}
[data-color="blue"] {
background-color: lab(50 -120 -120);
}
[data-color="blue-light"] {
background-color: lab(90 -120 -120);
}
çµæ
è²ã®è»¸ã®èª¿æ´
ãã®ä¾ã¯ãlab() 颿°ã® a 㨠b ã®å¤ããç· (-125) ãã赤 (125) ã¾ã§ã® a 軸ã¨ãé» (-125) ããé (125) ã¾ã§ã® b 軸ã®ç«¯ç¹ããã³ä¸ç¹ã«è¨å®ããå ´åã®å¹æã示ãã¦ãã¾ãã
HTML
<div data-color="red-yellow"></div>
<div data-color="red-zero"></div>
<div data-color="red-blue"></div>
<div data-color="zero-yellow"></div>
<div data-color="zero-zero"></div>
<div data-color="zero-blue"></div>
<div data-color="green-yellow"></div>
<div data-color="green-zero"></div>
<div data-color="green-blue"></div>
CSS
CSS ã® background-color ããããã£ã使ç¨ããlab() è²é¢æ°ã® a å¤ã¨ b å¤ã a 軸㨠b è»¸ã«æ²¿ã£ã¦å¤åãããããããã®å ´åã«ãããæå¤§å¤ãä¸éå¤ãæå°å¤ã®å¹æã表示ãã¾ãã
/* a è»¸ã¯æå¤§å¤ãb 軸ãå¤åããã */
[data-color="red-yellow"] {
background-color: lab(50 125 125);
}
[data-color="red-zero"] {
background-color: lab(50 125 0);
}
[data-color="red-blue"] {
background-color: lab(50 125 -125);
}
/* a 軸ã¯ä¸å¤®å¤ãb 軸ãå¤åããã */
[data-color="zero-yellow"] {
background-color: lab(50 0 125);
}
[data-color="zero-zero"] {
background-color: lab(50 0 0);
}
[data-color="zero-blue"] {
background-color: lab(50 0 -125);
}
/* a è»¸ã¯æå°å¤ãb 軸ãå¤åããã */
[data-color="green-yellow"] {
background-color: lab(50 -125 125);
}
[data-color="green-zero"] {
background-color: lab(50 -125 0);
}
[data-color="green-blue"] {
background-color: lab(50 -125 -125);
}
çµæ
å·¦å´ã®å㯠b 軸ã®é»è²å´ (-125) ã«ä½ç½®ããå³å´ã®åã¯éè²å´ (125) ã«ä½ç½®ãã¾ãã䏿®µã¯ a 軸ã®èµ¤è²å´ (-125) ã®è²ã表示ããã䏿®µã¯ç·è²å´ (125) ã«ä½ç½®ãã¾ããä¸å¤®ã®åã¨è¡ã¯ããããã®è»¸ã®ä¸å¤®ç¹ (0) ã«ä½ç½®ããä¸å¤®ã®ã»ã«ã¯ç°è²ã§ãããã®ã»ã«ã«ã¯èµ¤ã»ç·ã»é»ã»éã®ãããã®è²ãå«ã¾ãã¦ãããã両軸ã®å¤ã¯ 0 ã§ãã
a 軸ããã³ b 軸æ¹åã®ç·å½¢ã°ã©ãã¼ã·ã§ã³
ãã®ä¾ã§ã¯ãç·å½¢ã°ã©ãã¼ã·ã§ã³ãç¨ã㦠lab() 颿°ã®å¤ã a 軸ï¼èµ¤ããç·ã¸ï¼ããã³ b 軸ï¼é»ããéã¸ï¼ã«æ²¿ã£ã¦å¤åããæ§åãè¨è¼ãã¦ãã¾ããããããã®ã°ã©ãã¼ã·ã§ã³ç»åã§ã¯ã䏿¹ã®è»¸ã¯éçã®ã¾ã¾ããã䏿¹ã®è»¸ã軸å¤ã®ä½ã端ããé«ã端ã¸ã¨å¤åãã¦ããã¾ãã
CSS
/* a-axis gradients */
[data-color="red-to-green-yellow"] {
background-image: linear-gradient(to right, lab(50 125 125), lab(50 -125 125));
}
[data-color="red-to-green-zero"] {
background-image: linear-gradient(to right, lab(50 125 0), lab(50 -125 0));
}
[data-color="red-to-green-blue"] {
background-image: linear-gradient(to right, lab(50 125 -125), lab(50 -125 -125));
}
/* b-axis gradients */
[data-color="yellow-to-blue-red"] {
background-image: linear-gradient(to right, lab(50 125 125), lab(50 125 -125));
}
[data-color="yellow-to-blue-zero"] {
background-image: linear-gradient(to right, lab(50 0 125), lab(50 0 -125));
}
[data-color="yellow-to-blue-green"] {
background-image: linear-gradient(to right, lab(50 -125 125),lab(50 -125 -125));
}
çµæ
éæåº¦ã®èª¿æ´
次ã®ä¾ã¯ lab() 颿°è¨æ³ã® Aï¼ã¢ã«ãã¡ï¼å¤ãå¤åãããã¨ãã®å¹æã示ãã¦ãã¾ãã
red 㨠red-alpha è¦ç´ 㯠#background-div è¦ç´ ã«éãªããéæåº¦ã®å¹æã示ãã¦ãã¾ãã
A ã« 0.4 ã®å¤ãä¸ããã¨ãè²ã¯ 40% ã®ä¸éæåº¦ã«ãªãã¾ãã
HTML
<div id="background-div">
<div data-color="red"></div>
<div data-color="red-alpha"></div>
</div>
CSS
[data-color="red"] {
background-color: lab(80 125 125);
}
[data-color="red-alpha"] {
background-color: lab(80 125 125 / 0.4);
}
çµæ
lab() ã«ããç¸å¯¾è²ã®ä½¿ç¨
ãã®ä¾ã§ã¯ã3 ã¤ã® <div> è¦ç´ ãç°ãªãèæ¯è²ã§ã¹ã¿ã¤ã«è¨å®ãã¾ããä¸å¤®ã®ãã®ã«ã¯å¤æ´ããã¦ããªã --base-color ãä¸ããããå·¦ã¨å³ã®ãã®ã«ã¯ãã¨ã® --base-color ãããããæãããæãããå¤ãä¸ãããã¾ãã
ãããã®å¤åãããå¤ã¯ç¸å¯¾è²ãç¨ãã¦å®ç¾©ããã¾ãã--base-color ã«ã¹ã¿ã ãããã㣠ã lab() 颿°ã«æ¸¡ãããåºåãããè²ã¯ calc() 颿°ãéãã¦æåº¦ã®ãã£ã³ãã«ã夿´ãããæå³ãã广ãå¾ããã¾ããæããè²ã¯æåº¦ãã£ã³ãã«ã« 15% ã追å ãããæãè²ã¯æåº¦ãã£ã³ãã«ãã 15% ãæ¸ç®ããã¾ãã
CSS
:root {
--base-color: orange;
/* lab(75 24 79) ã¨åç */
}
#one {
background-color: lab(from var(--base-color) calc(l + 15) a b);
}
#two {
background-color: var(--base-color);
}
#three {
background-color: lab(from var(--base-color) calc(l - 15) a b);
}
çµæ
åºåçµæã¯æ¬¡ã®éãã§ãã
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Color Module Level 5 > # relative-Lab > |
| CSS Color Module Level 4 > # lab-colors > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
<color>ãã¼ã¿å<color-function>ãã¼ã¿å- ç¸å¯¾è²ã®ä½¿ç¨
- CSS è²ã¢ã¸ã¥ã¼ã«
- LCH colors in CSS: what, why, and how?
- Safari Technology Preview 122 release notes:
lab()ããã³lch()è²ãå«ã