CSS <hue-interpolation-method> ãã¼ã¿å
Baseline 2024 >
æè¿å©ç¨å¯è½
2024å¹´6æä»¥éããã®æ©è½ã¯ææ°ã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã³ãã©ã¦ã¶ã¼ã§åä½ãã¾ããå¤ã端æ«ããã©ã¦ã¶ã¼ã§ã¯åä½ããªããã¨ãããã¾ãã
<hue-interpolation-method> 㯠CSS ã®ãã¼ã¿åã§ã <hue> å¤éã®è£éã«ç¨ããã¢ã«ã´ãªãºã ã表ãã¾ãã
è£éæ¹æ³ã¯ãè²ç¸ç°ã«åºã¥ã㦠2 ã¤ã®è²ç¸å¤ã®ä¸éç¹ãæ¢ãæ¹æ³ãæå®ãã¾ãã
ãã㯠<color-interpolation-method> ãã¼ã¿åã®æåã¨ãã¦ä½¿ç¨ãã¾ãã
<hue> å¤ãè£éããå ´åãè²ç¸è£éã¢ã«ã´ãªãºã 㯠shorter ãããã©ã«ãå¤ã§ãã
æ§æ
<hue-interpolation-method> å¤ã¯è²ç¸è£éã¢ã«ã´ãªãºã ã®ååã«ãªãã©ã«ãã¼ã¯ã³ hue ãç¶ããã®ã§ãã
shorter hue longer hue increasing hue decreasing hue
å¤
ä»»æã®è²ç¸è§ã®çµã¯è²ç¸ç°ä¸ã® 2 ã¤ã®åå¾ã«å¯¾å¿ããåå¨ãè£éå¯è½ãª 2 ã¤ã®å¼§ã«åãåãã¾ããã©ã¡ãã®å¼§ãæåã®åå¾ã§å§ã¾ã 2 ã¤ç®ã®åå¾ã§çµããã¾ããã䏿¹ã¯æè¨åãã«ããã䏿¹ã¯åæè¨åãã«é²ã¿ã¾ãã
ã¡ã¢: 以ä¸ã®èª¬æã¨å³ã¯ãè²ç¸è§ãæè¨åãã«å¢å ããè²ç¸ç°ã«åºã¥ãã¦ãã¾ããè§åº¦ã®å¢å ãåæè¨åãã®æä½ã«ãªãè²ç¸ç°ããããã¨ã«æ³¨æãã¦ãã ããã
è²ç¸è§ θ1 㨠θ2 ã®ãã¢ã¯ç¯å² [0deg, 360deg) ã«æ£è¦åããã θ1 ãã θ2 ã¸ã®è£éæã«ã©ã®åå¼§ã使ç¨ããããæ±ºå®ããã¢ã«ã´ãªãºã ã 4 ã¤ããã¾ãã
shorter-
çãæ¹ã®å¼§ã使ç¨ãã¾ãã 2 ã¤ã®è§ãä¸è´ããã¨ãå¼§ã¯åä¸ã®ç¹ã«åãããã¾ãã両æ¹ã®åå¼§ã®é·ããåãå ´åã¯æ¬¡ã®ããã«ãªãã¾ãã
θ1 < θ2ã®å ´åã¯ãæè¨åãã®å¼§ã使ç¨ãã¾ããθ1 > θ2ã®å ´åã¯ãåæè¨åãã®å¼§ã使ç¨ãã¾ãã
θ1 = 45deg,θ2 = 135degθ1 = 135deg,θ2 = 45deg

longer-
é·ãæ¹ã®å¼§ã使ç¨ãã¾ãã 2 ã¤ã®è§ãä¸è´ããå ´åã¯æ¬¡ã®ããã«ãªãã¾ãã
θ1 ⤠θ2ã®å ´åãå¼§ã¯æè¨åãã®æ¹åã§å ¨å¨ã¨ãªãã¾ããθ1 > θ2ã®å ´åãå¼§ã¯åæè¨åãã®æ¹åã§å ¨å¨ã¨ãªãã¾ãã
両æ¹ã®å¼§ã®é·ããåãã§ããå ´åã¯æ¬¡ã®ããã«ãªãã¾ãã
θ1 < θ2ã®å ´åã¯ãæè¨åãã®å¼§ã使ç¨ãã¾ããθ1 > θ2ã®å ´åã¯ãåæè¨åãã®å¼§ã使ç¨ãã¾ãã
θ1 = 45deg,θ2 = 135degθ1 = 135deg,θ2 = 45deg

increasing-
æè¨åãã®å¼§ã使ç¨ãã¾ãã 2 ã¤ã®è§ãä¸è´ããã¨ãå¼§ã¯åä¸ã®ç¹ã«åãããã¾ãã
θ1 = 45deg,θ2 = 135degθ1 = 135deg,θ2 = 45deg

decreasing-
åæè¨åãã®å¼§ã使ç¨ãã¾ãã 2 ã¤ã®è§ãä¸è´ããã¨ãå¼§ã¯åä¸ã®ç¹ã«åãããã¾ãã
θ1 = 45deg,θ2 = 135degθ1 = 135deg,θ2 = 45deg

é¸ã¹ãå¼§ã 2 ã¤ãããªãããããããã®ã¢ã«ã´ãªãºã ã¯ããç¶æ³ä¸ã§ã¯å¯¾çã§ããç¹ã«æ¬¡ã®å ´åã§ãã
0deg < θ2 - θ1 < 180degã¾ãã¯Î¸2 - θ1 < -180degãªãã°ãshorterã¨increasingã¯ç価ã§ãlongerã¨decreasingã¯ç価ã§ãã-180deg < θ2 - θ1 < 0degã¾ãã¯Î¸2 - θ1 > 180degãªãã°ãshorterã¨decreasingã¯ç価ã§ãlongerã¨increasingã¯ç価ã§ãã
increasing 㨠decreasing ã®ç¹çãã¹ãç¹æ§ã¯ããã©ã³ã¸ã·ã§ã³ãã¢ãã¡ã¼ã·ã§ã³ä¸ã«è²ç¸è§ã®å·®ã 180deg ãéã£ã¦å¤åããã¨ãã shorter 㨠longer ã®ããã«å¼§ãå対å´ã«ãªããªããã¨ã§ãã
形弿æ³
<hue-interpolation-method> =
[ shorter | longer | increasing | decreasing ] hue
ä¾
>è²ç¸è£éã¢ã«ã´ãªãºã ã®æ¯è¼
次ã®ä¾ã¯ã linear-gradient() ã§æ§ã
ãªè²ç¸è£éã¢ã«ã´ãªãºã ã使ç¨ããå ´åã®å¹æã示ãã¦ãã¾ãã
HTML
<div class="hsl">
<p>HSL</p>
</div>
<div class="hsl-increasing">
<p>HSL increasing</p>
</div>
<div class="hsl-decreasing">
<p>HSL decreasing</p>
</div>
<div class="hsl-shorter">
<p>HSL shorter</p>
</div>
<div class="hsl-longer">
<p>HSL longer</p>
</div>
<div class="hsl-named">
<p>HSL named</p>
</div>
<div class="hsl-named-longer">
<p>HSL named (longer)</p>
</div>
CSS
.hsl {
background: linear-gradient(
to right in hsl,
hsl(39deg 100% 50%),
hsl(60deg 100% 50%)
);
}
.hsl-increasing {
background: linear-gradient(
to right in hsl increasing hue,
hsl(190deg 100% 50%),
hsl(180deg 100% 50%)
);
}
.hsl-decreasing {
background: linear-gradient(
to right in hsl decreasing hue,
hsl(39deg 100% 50%),
hsl(60deg 100% 50%)
);
}
.hsl-shorter {
background: linear-gradient(
to right in hsl shorter hue,
hsl(39deg 100% 50%),
hsl(60deg 100% 50%)
);
}
.hsl-longer {
background: linear-gradient(
to right in hsl longer hue,
hsl(39deg 100% 50%),
hsl(60deg 100% 50%)
);
}
.hsl-named {
background: linear-gradient(to right in hsl, orange, yellow);
}
.hsl-named-longer {
background: linear-gradient(to right in hsl longer hue, orange, yellow);
}
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Color Module Level 4 > # hue-interpolation > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
<color-interpolation-method><hue>ãã¼ã¿å