mask-clip

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.

/* <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;

Syntax

One or more of the keyword values listed below, separated by commas.

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 the viewBox attribute and the dimension of the reference box is set to the width and height values of the viewBox 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 image to the text of the element.

Formal definition

Initial valueborder-box
Applies toall elements; In SVG, it applies to container elements excluding the defs element and all graphics elements
Inheritedno
Computed valueas specified
Animation typediscrete

Formal syntax

[ <geometry-box> | no-clip ]#

where
<geometry-box> = <shape-box> | fill-box | stroke-box | view-box

where
<shape-box> = <box> | margin-box

where
<box> = border-box | padding-box | content-box

Examples

Clipping a mask to the border box

CSS

#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 */
}

Result

Specifications

Specification Status Comment
CSS Masking Module Level 1
The definition of 'mask-clip' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
mask-clipChrome Full support 1
Prefixed
Full support 1
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Full support 79
Prefixed
Full support 79
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Full support 53
Full support 53
No support 20 — 53
Disabled
Disabled From version 20 until version 53 (exclusive): this feature is behind the layout.css.masking.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 15
Prefixed
Full support 15
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari Full support 4
Prefixed
Full support 4
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
WebView Android Full support 2
Prefixed
Full support 2
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Chrome Android Full support 18
Prefixed
Full support 18
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Android Full support 53
Full support 53
No support 20 — 53
Disabled
Disabled From version 20 until version 53 (exclusive): this feature is behind the layout.css.masking.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 14
Prefixed
Full support 14
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari iOS Full support 3.2
Prefixed
Full support 3.2
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Samsung Internet Android Full support 1.0
Prefixed
Full support 1.0
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
border
Non-standard
Chrome Full support 1Edge Full support 79Firefox No support NoIE No support NoOpera Full support 15Safari Full support 4WebView Android Full support 2Chrome Android Full support 18Firefox Android No support NoOpera Android Full support 14Safari iOS Full support 3.2Samsung Internet Android Full support 1.0
content</content>
Non-standard
Chrome Full support 1Edge Full support 79Firefox No support NoIE No support NoOpera Full support 15Safari Full support 4WebView Android Full support 2Chrome Android Full support 18Firefox Android No support NoOpera Android Full support 14Safari iOS Full support 3.2Samsung Internet Android Full support 1.0
padding
Non-standard
Chrome Full support 1Edge Full support 79Firefox No support NoIE No support NoOpera Full support 15Safari Full support 4WebView Android Full support 2Chrome Android Full support 18Firefox Android No support NoOpera Android Full support 14Safari iOS Full support 3.2Samsung Internet Android Full support 1.0
text
Non-standard
Chrome Full support 1Edge Full support 79Firefox No support NoIE No support NoOpera Full support 15Safari Full support 4WebView Android Full support 2Chrome Android Full support 18Firefox Android No support NoOpera Android Full support 14Safari iOS Full support 3.2Samsung Internet Android Full support 1.0

Legend

Full support
Full support
No support
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.