From 4c212053deaca3391b1d0be8a0a3bcde7a560aa8 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 6 Nov 2021 11:17:40 +0900 Subject: 合成と混合の各文書を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2021/11/05 時点の英語版に同期 --- files/ja/web/css/blend-mode/index.md | 719 +++++++++++++++++------------------ 1 file changed, 352 insertions(+), 367 deletions(-) (limited to 'files/ja/web/css/blend-mode/index.md') diff --git a/files/ja/web/css/blend-mode/index.md b/files/ja/web/css/blend-mode/index.md index 1425d46207..1432c870f0 100644 --- a/files/ja/web/css/blend-mode/index.md +++ b/files/ja/web/css/blend-mode/index.md @@ -2,458 +2,443 @@ title: slug: Web/CSS/blend-mode tags: - - Blend modes + - 混合モード - CSS - CSS Data Type - - Compositing + - 合成 - Compositing and Blending - Data Type - Reference - color - - ブレンドモード - - 合成 browser-compat: css.types.blend-mode translation_of: Web/CSS/blend-mode --- -
{{CSSRef}}
- -

<blend-mode>CSSデータ型で、要素が重なったときにどのように色が現れるかを記述します。 {{cssxref("background-blend-mode")}} または {{cssxref("mix-blend-mode")}} プロパティで使用されます。

- -

構文

- -

<blend-mode> データ型は、以下に挙げたキーワードのうちの一つで定義します。

+{{CSSRef}} + +**``** は [CSS](/ja/docs/Web/CSS) の[データ型](/ja/docs/Web/CSS/CSS_Types)で、要素が重なったときにどのように色が現れるかを記述します。 {{cssxref("background-blend-mode")}} または {{cssxref("mix-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` と同じですが、レイヤーが入れ替わっています。 + +## 解説 + +混合モードは、適用されるレイヤー間のそれぞれのピクセルにおいて前景色と背景色を取り、計算を行い、新しい色の値を返します。 + +混合モード同士の変化は補完されません。すべての変更が直接反映されます。 + +## 例 + +### normal + +```html hidden +
+``` + +```css +#div { + width: 300px; + height: 300px; + background: url('br.png'), + url('tr.png'); + background-blend-mode: normal; +} +``` -

+{{ EmbedLiveSample('normal', "300", "350") }} -
-
normal
-
-

下の色が何であるかに関わらず、上の色が最終的な色になります。
- この効果は 2 枚の不透明の紙が重なっているようなものです。

+### multiply -
- -
- -

{{ EmbedLiveSample('normal_example', "300", "300") }}

-
-
multiply
-
-

上の色と下の色を掛け合わせた結果が最終的な色になります。
- 黒いレイヤーは最終的に黒いレイヤーに近づけ、白いレイヤーは変化をもたらしません。
- この効果は2枚の透明なフィルムに印刷された画像を重ね合わせたようなものです。

- -
- -
- -

{{ EmbedLiveSample('multiply_example', "300", "300") }}

-
-
screen
-
-

色を反転して乗算を行い、さらに色を反転した結果が最終的な色になります。
- 黒いレイヤーは変化をもたらしません。白いレイヤーは、最終的に白いのレイヤーへ近づけます。
- この効果は2枚の画像がスクリーンに投影された状況に似ています。

- -
- -
- -

{{ EmbedLiveSample('screen_example', "300", "300") }}

-
-
overlay
-
下の色が暗ければ multiply、下の色が明るければ screen の結果が最終的な色になります。。
- このブレンドモードは hard-light と同等ですが、レイヤーは逆です。 -
- -
+} +``` -

{{ EmbedLiveSample('overlay_example', "300", "300") }}

-
-
darken
-
-

色成分ごとに最も暗い値が最終的な値になります。

+{{ EmbedLiveSample('overlay', "300", "350") }} -
- -
+} +``` + +{{ EmbedLiveSample('darken', "300", "350") }} -

{{ EmbedLiveSample('darken_example', "300", "300") }}

-
-
lighten
-
-

色成分ごとに最も明るい値が最終的な値になります。

+### lighten -
- -
- -

{{ EmbedLiveSample('lighten_example', "300", "300") }}

-
-
color-dodge
-
-

下の色を、反転した上の色で除算した結果が、最終的な色になります。
- 黒い前景は変化をもたらしません。背景色を反転した色を持つ前景は、完全に明るい色に導きます。
- このブレンドモードは screen に似ていますが、完全に明るい色に近づけるためには背景色を反転した色と同程度に明るい前景が必要です。

- -
- -
- -

{{ EmbedLiveSample('color-dodge_example', "300", "300") }}

-
-
color-burn
-
-

反転した下の色を上の色で除算して、さらに反転した結果が最終的な色になります。
- 白い背景は変化をもたらしません。背景色を反転した色を持つ前景は、最終的に黒い画像へ近づけます。
- このブレンドモードは multiply に似ていますが、最終的に画像を暗くするためには背景色を反転した色と同程度に暗い前景が必要です。

- -
- -
- -

{{ EmbedLiveSample('color-burn_example', "300", "300") }}

-
-
hard-light
-
-

上の色が暗い色であれば multiply 、明るい色であれば screen の結果が最終的な色になります。
- このブレンドモードは overlay と同じですが、レイヤーが入れ替わっています。
- この効果は、背景に強烈なスポットライトを当てた状況に似ています。

- -
- -
- -

{{ EmbedLiveSample('hard-light_example', "300", "300") }}

-
-
soft-light
-
-

最終的な色は hard-light に似ていますが、よりソフトになります。
- このブレンドモードは hard-light に似ています。
- この効果は、背景に拡散光のスポットライトを当てた状況に似ています。

- -
- -
- -

{{ EmbedLiveSample('soft-light_example', "300", "300") }}

-
-
difference
-
-

2 つの色のうち明るい色から、暗い色を減算した結果が最終的な色になります。
- 黒いレイヤーは変化をもたらしません。白いレイヤーは、もうひとつのレイヤーの色を反転します。

- -
- -
- -

{{ EmbedLiveSample('difference_example', "300", "300") }}

-
-
exclusion
-
-

最終的な色は difference に似ていますが、コントラストが低くなります。
- difference と同様に、黒いレイヤーは変化をもたらしません。白いレイヤーは、もうひとつのレイヤーの色を反転します。

- -
- -
+} +``` -

{{ EmbedLiveSample('exclusion_example', "300", "300") }}

-
-
hue
-
-

最終的な色は上の色の色調を持ちますが、彩度および明度は下の色の値を使用します。

+{{ EmbedLiveSample('exclusion', "300", "350") }} -
- -
- -

{{ EmbedLiveSample('hue_example', "300", "300") }}

-
-
saturation
-
-

最終的な色は上の色の彩度を持ちますが、色調および明度は下の色の値を使用します。
- 彩度を持たない純粋なグレーの背景は、効果がありません。

- -
- -
- -

{{ EmbedLiveSample('saturation_example', "300", "300") }}

-
-
color
-
-

最終的な色は上の色の色調および彩度を持ちますが、明度は下の色の値を使用します。
- この効果はグレーレベルを保持しており、前景に色をつけるために使用できます。

- -
- -
- -

{{ EmbedLiveSample('color_example', "300", "300") }}

-
-
luminosity
-
-

最終的な色は上の色の明度を持ちますが、色調および 彩度は下の色の値を使用します。
- このブレンドモードは color と同じですが、レイヤーが入れ替わっています。

- -
- -
+} +``` -

{{ EmbedLiveSample('luminosity_example', "300", "300") }}

-
-
+{{ EmbedLiveSample('hue', "300", "350") }} -

解説

+### saturation -

ブレンドモードは、適用されるレイヤー間のそれぞれのピクセルにおいて前景色と背景色を取り、計算を行い、新しい色の値を返します。

+```html hidden +
+``` + +```css +#div { + width: 300px; + height: 300px; + background: url('br.png'), + url('tr.png'); + background-blend-mode: saturation; +} +``` -

ブレンドモード同士の変化は補完されません。すべての変更が直接反映されます。

+{{ EmbedLiveSample('saturation', "300", "350") }} -

+### color -

ブレンドモードの比較

+```html hidden +
+``` -

次の例の <div> には、 Firefox のロゴと線形グラデーションの 2 つの背景画像を設定してあります。その下に <select> メニューがあって background-blend-mode を変更することができ、それが <div> に適用されますので、様々なブレンドモードの効果を比較することができます。

+```css +#div { + width: 300px; + height: 300px; + background: url('br.png'), + url('tr.png'); + background-blend-mode: color; +} +``` -

HTML

+{{ EmbedLiveSample('color', "300", "350") }} -
<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>
+### luminosity -

CSS

+```html hidden +
+``` -
div {
+```css
+#div {
+  width: 300px;
+  height: 300px;
+  background: url('br.png'),
+              url('tr.png');
+  background-blend-mode: luminosity;
+}
+```
+
+{{ EmbedLiveSample('luminosity', "300", "350") }}
+
+

混合モードの比較

+ +次の例の `
` には、 Firefox のロゴと線形グラデーションの 2 つの背景画像を設定してあります。その下に ` + +``` + +#### CSS + +```css +div {   width: 300px;   height: 300px;   background: url(https://media.prod.mdn.mozit.cloud/attachments/2020/07/29/17350/3b4892b7e820122ac6dd7678891d4507/firefox.png) no-repeat center,   linear-gradient(to bottom, blue, orange); -}
+} +``` -

JavaScript

+#### JavaScript -
const selectElem = document.querySelector('select');
+```js
+const selectElem = document.querySelector('select');
 const divElem = document.querySelector('div');
 
-selectElem.addEventListener('change', () => {
+selectElem.addEventListener('change', () => {
   divElem.style.backgroundBlendMode = selectElem.value;
-});
+}); +``` -

結果

+#### 結果 -

{{EmbedLiveSample('Blend_mode_comparison', '100%', 370)}}

+{{EmbedLiveSample('Blend_mode_comparison', '100%', 400)}} -

仕様書

+## 仕様書 - - - - - - - - - - - - - - - -
仕様書状態備考
{{ SpecName('Compositing', '#ltblendmodegt', '<blend-mode>') }}{{ Spec2('Compositing') }}初回定義
+{{Specifications}} -

ブラウザーの互換性

+## ブラウザーの互換性 -

{{Compat}}

+{{Compat}} -

関連情報

+## 関連情報 -
    -
  • このデータ型を使用するプロパティ: {{cssxref("background-blend-mode")}}, {{cssxref("mix-blend-mode")}}
  • -
+- このデータ型を使用するプロパティ: {{cssxref("background-blend-mode")}}, {{cssxref("mix-blend-mode")}} -

様々なブレンドモードの他のウェブサイトにおける解説

+様々な混合モードの他のウェブサイトにおける解説: - +- Wikipedia の[ブレンドモード](https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%B3%E3%83%89%E3%83%A2%E3%83%BC%E3%83%89)の記事 +- [Adobe Photoshop における描画モード](https://helpx.adobe.com/jp/photoshop/using/blending-modes.html) (Adobe) -- cgit v1.2.3-54-g00ecf