プロパティ mask-clip

プロパティ mask-clip は、マスクが表示される要素の領域を設定します。これは、要素のどの部分がマスキングの影響を受け、どの部分が変更されずに表示されるかを定義します。

構文

cssセレクタ {
  mask-clip: 値 | no-clip;
}

値

値 説明
border-box マスクは要素の境界線を含む領域に適用されます。
padding-box マスクはパディングを含む領域に適用されますが、境界線には適用されません。
content-box マスクは要素のコンテンツのみに適用されます。
margin-box マスクはマージンを含む領域に適用されます(実験的)。
fill-box マスクはオブジェクトのバウンディングボックスに適用されます(SVG用)。
stroke-box マスクはストロークバウンディングボックスに適用されます(SVG用)。
view-box マスクはビューボックスに適用されます(SVG用)。
no-clip マスクは要素の領域に制限されません。

デフォルト値: border-box.

例 . 異なる領域への mask-clip の適用

境界線と余白を持つ要素に対するさまざまな mask-clip の値を比較します:

html<div class="box border-box">border-box</div>
<div class="box padding-box">padding-box</div>
<div class="box content-box">content-box</div>
css.box {
  width: 200px;
  height: 100px;
  margin: 20px;
  padding: 20px;
  border: 10px dashed black;
  background: linear-gradient(45deg, red, blue);
  mask-image: linear-gradient(to right, black, transparent);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
  display: inline-block;
}

.border-box {
  mask-clip: border-box;
}

.padding-box {
  mask-clip: padding-box;
}

.content-box {
  mask-clip: content-box;
}

Результат:

例 . no-clip の使用

マスクが要素の境界を超えて広がる no-clip 値のデモンストレーション:

html<div id="elem"></div>
css#elem {
  width: 200px;
  height: 200px;
  background: linear-gradient(45deg, red, blue);
  mask-image: radial-gradient(circle, black 50%, transparent 70%);
  mask-size: 300px 300px;
  mask-position: center;
  mask-clip: no-clip;
  border: 2px solid black;
}

Результат:

例 . 異なる mask-clip 値を持つ SVG

SVG要素へのさまざまな値の適用:

html<svg width="400" height="200">
  <defs>
    <mask id="mask1" maskContentUnits="objectBoundingBox">
      <rect x="0.1" y="0.1" width="0.8" height="0.8" fill="white"/>
    </mask>
  </defs>
  
  <rect x="10" y="10" width="180" height="180" fill="blue" 
    mask="url(#mask1)" mask-clip="fill-box"/>
    
  <rect x="210" y="10" width="180" height="180" fill="red" 
    mask="url(#mask1)" mask-clip="view-box"/>
</svg>

Результат:

関連項目

  • プロパティ mask-origin,
    マスクの原点位置を定義します
  • プロパティ mask-image,
    マスク画像を指定します
  • プロパティ mask,
    マスキングに関するすべてのプロパティの一括指定
  • プロパティ clip-path,
    要素のクリッピングパスを作成します