<color-interpolation-method>
<color-interpolation-method> CSS æ°æ®ç±»å表示ç¨äºå¨ <color> å¼ä¹é´æå¼çè²å½©ç©ºé´ãå®å¯ç¨äºè¦çå color-mix() å linear-gradient() çä¸é¢è²ç¸å
³ç彿°ç¬¦å·æç¨çé»è®¤æå¼è²å½©ç©ºé´ã
å¨å¯¹ <color> 弿弿¶ï¼æå¼è²å½©ç©ºé´é»è®¤ä¸º oklabã
è¯æ³
<color-interpolation-method> æå®äºæå¼åºä½¿ç¨ç´è§åæ è²å½©ç©ºé´è¿æ¯å¸¦å¯éè²ç¸æå¼æ¹æ³çæåæ è²å½©ç©ºé´ï¼
in <rectangular-color-space> // æè in <polar-color-space>[ <hue-interpolation method>]
å¼
<rectangular-color-space>-
å ³é®å
srgbãsrgb-linearãdisplay-p3ãa98-rgbãprophoto-rgbãrec2020ãlabãoklabãxyzãxyz-d50æxyz-d65ä¹ä¸ã <polar-color-space>-
å ³é®å
hslãhwbãlchæoklchä¹ä¸ã <hue-interpolation-method>å¯é-
ç¨äºè²è°æå¼çç®æ³ãé»è®¤ä¸º
shorter hueã <custom-color-space>-
ä¸ä¸ªæåèªå®ä¹ @color profile ç
<dashed-ident>ã
å½¢å¼è¯æ³
<color-interpolation-method> =
in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? | <custom-color-space> ]
<rectangular-color-space> =
srgb |
srgb-linear |
display-p3 |
display-p3-linear |
a98-rgb |
prophoto-rgb |
rec2020 |
lab |
oklab |
<xyz-space>
<polar-color-space> =
hsl |
hwb |
lch |
oklch
<hue-interpolation-method> =
[ shorter | longer | increasing | decreasing ] hue
<custom-color-space> =
<dashed-ident>
<xyz-space> =
xyz |
xyz-d50 |
xyz-d65
示ä¾
>ç¨æ¸åæ¯è¾åç§æå¼è²å½©ç©ºé´
以ä¸ç¤ºä¾å±ç¤ºäº linear-gradient() 使ç¨ä¸åçæå¼è²å½©ç©ºé´çææã
HTML
<div>sRGBï¼</div>
<div class="gradient srgb"></div>
<div>Oklabï¼</div>
<div class="gradient oklab"></div>
<div>Oklchï¼å¸¦ <code>longer hue</code>ï¼ï¼</div>
<div class="gradient oklch-longer"></div>
CSS
.gradient {
height: 50px;
width: 100%;
}
.srgb {
background-image: linear-gradient(in srgb to right, blue, red);
}
.oklab {
background-image: linear-gradient(in oklab to right, blue, red);
}
.oklch-longer {
background-image: linear-gradient(in oklch longer hue to right, blue, red);
}
ç»æ
é夿¸åä¸çé¢è²æå¼
以ä¸ç¤ºä¾å±ç¤ºäºå¨é夿¸å䏿å¼é¢è²æ¶å¦ä½æå®è²å½©ç©ºé´ã
ä¸ä¸ªæ¡å±ç¤ºäºä½¿ç¨ repeating-conic-gradient()ãrepeating-linear-gradient() å repeating-radial-gradient() 彿°å建çä¸åç±»åçé夿¸åã
第ä¸ä¸ªæ¡ä½¿ç¨ Lab è²å½©ç©ºé´å¨ä¸¤ä¸ªé¢è²å¼ä¹é´è¿è¡æå¼ã第äºä¸ªå第ä¸ä¸ªæ¡ä½¿ç¨ Oklch è²å½©ç©ºé´ï¼å¹¶ä¸é¢å¤æä¾äºä¸ä¸ª <hue-interpolation-method> æ¥æå®å¦ä½å¨è²è°å¼ä¹é´è¿è¡æå¼ã
HTML
<div class="gradient conic">å饿¸å</div>
<div class="gradient linear">çº¿æ§æ¸å</div>
<div class="gradient radial">å¾åæ¸å</div>
CSS
æä»¬å¨æ¯ä¸ªæ¸åä¸ä½¿ç¨äºç¸åç两ç§é¢è²ï¼ä»¥å±ç¤º <hue-interpolation-method> åè²å½©ç©ºé´å¨æ¸åé¢è²æå¼ä¸çä¸åææã
.conic {
background-image: repeating-conic-gradient(
in lab,
burlywood,
blueviolet 120deg
);
}
.linear {
background-image: repeating-linear-gradient(
in oklch,
burlywood,
blueviolet 75px
);
}
.radial {
background-image: repeating-radial-gradient(
in oklch longer hue,
blueviolet 50px,
burlywood 100px
);
}
ç»æ
对æ¯ç¬¬ä¸ä¸ªå第äºä¸ªæ¡å±ç¤ºäºå¨ä¸åè²å½©ç©ºé´ä¸æå¼ä¸¤ç§é¢è²æ¶çå·®å¼ã对æ¯ç¬¬äºä¸ªå第ä¸ä¸ªæ¡åå±ç¤º <hue-interpolation-method> ä¹é´çå·®å¼ï¼å
¶ä¸çº¿æ§æ¸å使ç¨äºè¾ççæ¹æ³ï¼é»è®¤ï¼ï¼èå¾åæ¸å使ç¨äºè¾é¿çæ¹æ³ã
è§è
| è§è |
|---|
| CSS Color Module Level 4 > # interpolation-space > |