プロパティ mask-clip
プロパティ mask-clip は、マスクが表示される要素の領域を設定します。これは、要素のどの部分がマスキングの影響を受け、どの部分が変更されずに表示されるかを定義します。
構文
セレクタ {
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 の値を比較します:
<div class="box border-box">border-box</div>
<div class="box padding-box">padding-box</div>
<div class="box content-box">content-box</div>
.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 値のデモンストレーション:
<div id="elem"></div>
#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要素へのさまざまな値の適用:
<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,
要素のクリッピングパスを作成します