This article needs a technical review. How you can help.
This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
Summary
The mask-clip
CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area.
Initial value | border-box |
---|---|
Applies to | all elements; In SVG, it applies to container elements excluding the <defs> element and all graphics elements |
Inherited | no |
Media | visual |
Computed value | as specified |
Animatable | no |
Canonical order | the unique non-ambiguous order defined by the formal grammar |
Syntax
/* <geometry-box> values */ mask-clip: content-box; mask-clip: padding-box; mask-clip: border-box; mask-clip: margin-box; mask-clip: fill-box; mask-clip: stroke-box; mask-clip: view-box; /* Keyword values */ mask-clip: no-clip; /* Non-standard keyword values */ -webkit-mask-clip: border; -webkit-mask-clip: padding; -webkit-mask-clip: content; -webkit-mask-clip: text; /* Multiple values */ mask-clip: padding-box, no-clip; mask-clip: view-box, fill-box, border-box; /* Global values */ mask-clip: inherit; mask-clip: initial; mask-clip: unset;
Values
content-box
- The painted content is clipped to the content box.
padding-box
- The painted content is clipped to the padding box.
border-box
- The painted content is clipped to the border box.
margin-box
- The painted content is clipped to the margin box.
fill-box
- The painted content is clipped to the object bounding box.
stroke-box
- The painted content is clipped to the stroke bounding box.
view-box
- Uses the nearest SVG viewport as reference box. If a
viewBox
attribute is specified for the element creating the SVG viewport, the reference box is positioned at the origin of the coordinate system established by theviewBox
attribute and the dimension of the reference box is set to the width and height values of theviewBox
attribute. no-clip
- The painted content is not clipped.
border
- This keyword behaves the same as
border-box
. padding
- This keyword behaves the same as
padding-box
. content
- This keyword behaves the same as
content-box
. text
- This keyword clips the mask immage to the text of the element.
Formal syntax
[ <geometry-box> | no-clip ]#where
<geometry-box> = <shape-box> | fill-box | stroke-box | view-box
Example
CSS Content
#masked { width: 100px; height: 100px; background-color: #8cffa0; margin: 20px; border: 20px solid #8ca0ff; padding: 20px; mask-image: url(https://mdn.mozillademos.org/files/12668/MDN.svg); mask-size: 100% 100%; mask-clip: border-box; /* Can be changed in the live sample */ }
HTML Content
<div id="masked"> </div> <select id="clipBox"> <option value="content-box">content-box</option> <option value="padding-box">padding-box</option> <option value="border-box" selected>border-box</option> <option value="margin-box">margin-box</option> <option value="fill-box">fill-box</option> <option value="stroke-box">stroke-box</option> <option value="view-box">view-box</option> <option value="no-clip">no-clip</option> </select>
JavaScript Content
var clipBox = document.getElementById("clipBox"); clipBox.addEventListener("change", function (evt) { document.getElementById("masked").style.maskClip = evt.target.value; });
Specifications
Specification | Status | Comment |
---|---|---|
CSS Masking Level 1 The definition of 'mask-clip' in that specification. |
Candidate Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes)-webkit | No support[1] | No support | (Yes)-webkit | (Yes)-webkit |
border , padding , content , text |
1.0-webkit | No support | No support | (Yes) | 4.0-webkit |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | No support[1] | No support | ? | ? |
border , padding , content , text |
2.1-webkit | No support[1] | No support | ? | 3.2-webkit |
[1] This feature is not implemented yet. See bug 1251161.