<blend-mode>
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2020å¹´1æâ©.
<blend-mode> 㯠CSS ã®ãã¼ã¿åã§ãè¦ç´ ãéãªã£ãã¨ãã«ã©ã®ããã«è²ãç¾ããããè¨è¿°ãã¾ãã background-blend-mode ã¾ã㯠mix-blend-mode ããããã£ã§ä½¿ç¨ããã¾ãã
æ§æ
<blend-mode> ãã¼ã¿åã¯ã以ä¸ã«æãããã¼ã¯ã¼ãã®ãã¡ã®ä¸ã¤ã§å®ç¾©ãã¾ãã
å¤
normal-
ä¸ã®è²ãä½ã§ãããã«é¢ããããä¸ã®è²ãæçµçãªè²ã«ãªãã¾ãã ãã®å¹æã¯ 2 æã®ä¸éæã®ç´ãéãªã£ã¦ãããããªãã®ã§ãã
multiply-
ä¸ã®è²ã¨ä¸ã®è²ãæãåãããçµæãæçµçãªè²ã«ãªãã¾ãã é»ãã¬ã¤ã¤ã¼ã¯æçµçã«é»ãã¬ã¤ã¤ã¼ã«ãªããç½ãã¬ã¤ã¤ã¼ã¯å¤åãããããã¾ããã ãã®å¹æã¯ 2 æã®éæãªãã£ã«ã ã«å°å·ãããç»åãéãåããããããªãã®ã§ãã
screen-
è²ãå転ãã¦ä¹ç®ãè¡ããããã«è²ãå転ããçµæãæçµçãªè²ã«ãªãã¾ãã é»ãã¬ã¤ã¤ã¼ã¯å¤åãããããã¾ãããç½ãã¬ã¤ã¤ã¼ã¯ãæçµçã«ç½ãã®ã¬ã¤ã¤ã¼ã¸è¿ã¥ãã¾ãã ãã®å¹æã¯ 2 æã®ç»åãç»é¢ã«æå½±ãããç¶æ³ã«ä¼¼ã¦ãã¾ãã
overlay-
ä¸ã®è²ãæããã°
multiplyãä¸ã®è²ãæãããã°screenã®çµæãæçµçãªè²ã«ãªãã¾ãã ãã®æ··åã¢ã¼ãã¯hard-lightã¨åçã§ãããã¬ã¤ã¤ã¼ã¯éã§ãã darken-
è²æåãã¨ã«æãæãå¤ãæçµçãªå¤ã«ãªãã¾ãã
lighten-
è²æåãã¨ã«æãæããå¤ãæçµçãªå¤ã«ãªãã¾ãã
color-dodge-
ä¸ã®è²ããå転ããä¸ã®è²ã§é¤ç®ããçµæããæçµçãªè²ã«ãªãã¾ãã é»ã忝ã¯å¤åãããããã¾ãããèæ¯è²ãå転ããè²ãæã¤åæ¯ã¯ãå®å ¨ã«æããè²ã«å°ãã¾ãã ãã®æ··åã¢ã¼ãã¯
screenã«ä¼¼ã¦ãã¾ãããå®å ¨ã«æããè²ã«è¿ã¥ããããã«ã¯èæ¯è²ãå転ããè²ã¨åç¨åº¦ã«æãã忝ãå¿ è¦ã§ãã color-burn-
å転ããä¸ã®è²ãä¸ã®è²ã§é¤ç®ãã¦ãããã«å転ããçµæãæçµçãªè²ã«ãªãã¾ãã ç½ãèæ¯ã¯å¤åãããããã¾ãããèæ¯è²ãå転ããè²ãæã¤åæ¯ã¯ãæçµçã«é»ãç»åã¸è¿ã¥ãã¾ãã ãã®æ··åã¢ã¼ãã¯
multiplyã«ä¼¼ã¦ãã¾ãããæçµçã«ç»åãæãããããã«ã¯èæ¯è²ãå転ããè²ã¨åç¨åº¦ã«æã忝ãå¿ è¦ã§ãã hard-light-
ä¸ã®è²ãæãè²ã§ããã°
multiplyãæããè²ã§ããã°screenã®çµæãæçµçãªè²ã«ãªãã¾ãã ãã®æ··åã¢ã¼ãã¯overlayã¨åãã§ãããã¬ã¤ã¤ã¼ãå ¥ãæ¿ãã£ã¦ãã¾ãã ãã®å¹æã¯ãèæ¯ã«å¼·çãªã¹ãããã©ã¤ããå½ã¦ãç¶æ³ã«ä¼¼ã¦ãã¾ãã soft-light-
æçµçãªè²ã¯
hard-lightã«ä¼¼ã¦ãã¾ãããããã½ããã«ãªãã¾ãã ãã®æ··åã¢ã¼ãã¯hard-lightã«ä¼¼ã¦ãã¾ãã ãã®å¹æã¯ãèæ¯ã«æ¡æ£å ã®ã¹ãããã©ã¤ããå½ã¦ãç¶æ³ã«ä¼¼ã¦ãã¾ãã difference-
2 ã¤ã®è²ã®ãã¡æããè²ãããæãè²ãæ¸ç®ããçµæãæçµçãªè²ã«ãªãã¾ãã é»ãã¬ã¤ã¤ã¼ã¯å¤åãããããã¾ãããç½ãã¬ã¤ã¤ã¼ã¯ãããã²ã¨ã¤ã®ã¬ã¤ã¤ã¼ã®è²ãå転ãã¾ãã
exclusion-
æçµçãªè²ã¯
differenceã«ä¼¼ã¦ãã¾ãããã³ã³ãã©ã¹ããä½ããªãã¾ããdifferenceã¨åæ§ã«ãé»ãã¬ã¤ã¤ã¼ã¯å¤åãããããã¾ãããç½ãã¬ã¤ã¤ã¼ã¯ãããã²ã¨ã¤ã®ã¬ã¤ã¤ã¼ã®è²ãå転ãã¾ãã hue-
æçµçãªè²ã¯ä¸ã®è²ã®è²ç¸ãæã¡ã¾ããã彩度ããã³æåº¦ã¯ä¸ã®è²ã®å¤ã使ç¨ãã¾ãã
saturation-
æçµçãªè²ã¯ä¸ã®è²ã®å½©åº¦ãæã¡ã¾ãããè²ç¸ããã³æåº¦ã¯ä¸ã®è²ã®å¤ã使ç¨ãã¾ãã 彩度ãæããªãç´ç²ãªã°ã¬ã¼ã®èæ¯ã¯ã广ãããã¾ããã
color-
æçµçãªè²ã¯ä¸ã®è²ã®è²ç¸ããã³å½©åº¦ãæã¡ã¾ãããæåº¦ã¯ä¸ã®è²ã®å¤ã使ç¨ãã¾ãã ãã®å¹æã¯ã°ã¬ã¼ã¬ãã«ãä¿æãã¦ããã忝ã«è²ãã¤ããããã«ä½¿ç¨ã§ãã¾ãã
luminosity-
æçµçãªè²ã¯ä¸ã®è²ã®æåº¦ãæã¡ã¾ãããè²ç¸ãã㳠彩度ã¯ä¸ã®è²ã®å¤ã使ç¨ãã¾ãã ãã®æ··åã¢ã¼ãã¯
colorã¨åãã§ãããã¬ã¤ã¤ã¼ãå ¥ãæ¿ãã£ã¦ãã¾ãã
解説
æ··åã¢ã¼ãã¯ãé©ç¨ãããã¬ã¤ã¤ã¼éã®ããããã®ãã¯ã»ã«ã«ããã¦åæ¯è²ã¨èæ¯è²ãåããè¨ç®ãè¡ããæ°ããè²ã®å¤ãè¿ãã¾ãã
æ··åã¢ã¼ãå士ã®å¤åã¯è£å®ããã¾ããããã¹ã¦ã®å¤æ´ãç´æ¥åæ ããã¾ãã
形弿æ³
<blend-mode> =
normal |
multiply |
screen |
overlay |
darken |
lighten |
color-dodge |
color-burn |
hard-light |
soft-light |
difference |
exclusion |
hue |
saturation |
color |
luminosity
ä¾
>"normal" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: normal;
}
"multiply" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: multiply;
}
"screen" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: screen;
}
"overlay" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: overlay;
}
"darken" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: darken;
}
"lighten" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: lighten;
}
"color-dodge" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: color-dodge;
}
"color-burn" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: color-burn;
}
"hard-light" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: hard-light;
}
"soft-light" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: soft-light;
}
"difference" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: difference;
}
"exclusion" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: exclusion;
}
"hue" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: hue;
}
"saturation" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: saturation;
}
"color" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: color;
}
"luminosity" ã®ä½¿ç¨ä¾
#div {
width: 300px;
height: 300px;
background: url("br.png"), url("tr.png");
background-blend-mode: luminosity;
}
æ··åã¢ã¼ãã®æ¯è¼
次ã®ä¾ã® <div> ã«ã¯ã Firefox ã®ãã´ã¨ç·å½¢ã°ã©ãã¼ã·ã§ã³ã® 2 ã¤ã®èæ¯ç»åãè¨å®ãã¦ããã¾ãããã®ä¸ã« <select> ã¡ãã¥ã¼ããã£ã¦ background-blend-mode ã夿´ãããã¨ãã§ããããã <div> ã«é©ç¨ããã¾ãã®ã§ãæ§ã
ãªæ··åã¢ã¼ãã®å¹æãæ¯è¼ãããã¨ãã§ãã¾ãã
HTML
<div></div>
<p>æ··åã¢ã¼ãã鏿ãã¦ãã ããã</p>
<select>
<option selected>normal</option>
<option>multiply</option>
<option>screen</option>
<option>overlay</option>
<option>darken</option>
<option>lighten</option>
<option>color-dodge</option>
<option>color-burn</option>
<option>hard-light</option>
<option>soft-light</option>
<option>difference</option>
<option>exclusion</option>
<option>hue</option>
<option>saturation</option>
<option>color</option>
<option>luminosity</option>
</select>
CSS
div {
width: 300px;
height: 300px;
background:
url(https://mdn.dev/archives/media/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/firefox.png)
no-repeat center,
linear-gradient(to bottom, blue, orange);
}
JavaScript
const selectElem = document.querySelector("select");
const divElem = document.querySelector("div");
selectElem.addEventListener("change", () => {
divElem.style.backgroundBlendMode = selectElem.value;
});
çµæ
仿§æ¸
| Specification |
|---|
| Compositing and Blending Level 2 > # ltblendmodegt > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- CSS åæã¨æ··åã¢ã¸ã¥ã¼ã«ã§ã
<blend-mode>ã®å¤ãå®ç¾©ãã¦ãã¾ãã - ãã®ãã¼ã¿åã使ç¨ããããããã£:
background-blend-mode,mix-blend-mode
æ§ã ãªæ··åã¢ã¼ãã®ä»ã®ã¦ã§ããµã¤ãã«ããã解説:
- ãã¬ã³ãã¢ã¼ãï¼ã¦ã£ãããã£ã¢ï¼
- Adobe Photoshop ã«ãããæç»ã¢ã¼ã (Adobe)