プロパティ mask-image

プロパティ mask-image は、要素のマスクとして使用される画像を設定できます。マスクは、要素のどの部分が表示され、どの部分が隠されるかを定義します。マスクとしては、SVG、PNG画像またはグラデーションを使用できます。

構文

cssセレクタ {
  mask-image: none | <image> | <url>;
}

値

値 説明
none マスキングを無効にします(デフォルト値)。
url() マスク画像(SVG、PNG)へのパス。
linear-gradient() マスクとしての線形グラデーション。
radial-gradient() マスクとしての放射グラデーション。

例 . SVGをマスクとして使用する

ハート形のSVG画像をマスクとして画像に適用します:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask-image: url("heart.svg");
  mask-position: center;
  mask-size: 300px;
  mask-repeat: no-repeat;
}

Результат:

例 . グラデーションをマスクとして使用する

要素に対して線形グラデーションをマスクとして適用します:

html<div id="elem"></div>
css#elem {
  width: 500px;
  height: 300px;
  background: linear-gradient(45deg, red, blue);
  mask-image: linear-gradient(to right, transparent, black);
}

Результат:

例 . SVG要素をマスクとして使用する

SVG要素を使用してマスクを作成し、画像に適用します:

html<img id="image" src="image.jpg">
<svg width="0" height="0">
  <mask id="mask">
    <path d="M150 15L183 111L285 111L204 171L237 267L150 216L63 267L96 171L15 111L117 111Z" fill="white"/>
  </mask>
</svg>
css#image {
  width: 500px;
  height: 281px;
  mask-image: url(#mask);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

Результат:

関連項目

  • プロパティ mask-position,
    要素に対するマスクの位置を定義します
  • プロパティ mask-size,
    マスクのサイズを定義します
  • プロパティ mask-repeat,
    マスクの繰り返しを定義します
  • プロパティ mask-mode,
    マスクが背景とどのように相互作用するかを定義します
  • プロパティ mask,
    すべてのマスキングプロパティの一括指定