The mask-position CSS property sets the initial position, relative to the mask position layer set by mask-origin, for each defined mask image.
/* Keyword values */ mask-position: top; mask-position: bottom; mask-position: left; mask-position: right; mask-position: center; /* <position> values */ mask-position: 25% 75%; mask-position: 0px 0px; mask-position: 10% 8em; /* Multiple values */ mask-position: top right; mask-position: 1rem 1rem, center; /* Global values */ mask-position: inherit; mask-position: initial; mask-position: unset;
Syntax
One or more <position> values, separated by commas.
Values
<position>- One to four values representing a 2D position regarding the edges of the element's box. Relative or absolute offsets can be given. Note that the position can be set outside of the element's box.
Formal definition
| Initial value | center |
|---|---|
| Applies to | all elements; In SVG, it applies to container elements excluding the defs element and all graphics elements |
| Inherited | no |
| Percentages | refer to size of mask painting area minus size of mask layer image (see the text for background-position) |
| Computed value | Consists of two keywords representing the origin and two offsets from that origin, each given as an absolute length (if given a <length>), otherwise as a percentage. |
| Animation type | repeatable list of simple list of length, percentage, or calc |
Formal syntax
<position>#where
<position> = [ [ left | center | right ] | [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]where
<length-percentage> = <length> | <percentage>
Examples
Setting mask position
CSS
#wrapper {
border: 1px solid black;
width: 250px;
height: 250px;
}
#masked {
width: 250px;
height: 250px;
background: blue linear-gradient(red, blue);
mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg);
mask-repeat: no-repeat;
mask-position: top right; /* Can be changed in the live sample */
margin-bottom: 10px;
}
HTML
<div id="wrapper"> <div id="masked"> </div> </div> <select id="maskPosition"> <option value="top">top</option> <option value="center">center</option> <option value="bottom">bottom</option> <option value="top right" selected>top right</option> <option value="center center">center center</option> <option value="bottom left">bottom left</option> <option value="10px 20px">10px 20px</option> <option value="60% 20%">60% 20%</option> </select>
JavaScript
var maskPosition = document.getElementById("maskPosition");
maskPosition.addEventListener("change", function (evt) {
document.getElementById("masked").style.maskPosition = evt.target.value;
});
Result
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Masking Module Level 1 The definition of 'mask-position' in that specification. |
Candidate Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
mask-position | Chrome
Full support
1
| Edge Full support 18 | Firefox
Full support
53
| IE No support No | Opera
Full support
15
| Safari
Full support
3.2
| WebView Android
Full support
2
| Chrome Android
Full support
18
| Firefox Android
Full support
53
| Opera Android
Full support
14
| Safari iOS
Full support
3.2
| Samsung Internet Android
Full support
1.0
|
| Support for three-value syntax of position | Chrome
No support
1 — 68
| Edge No support 18 — 79 | Firefox
No support
53 — 70
| IE No support No | Opera
No support
15 — 55
| Safari
Full support
3.2
| WebView Android
No support
2 — 68
| Chrome Android
No support
18 — 68
| Firefox Android
Full support
53
| Opera Android
No support
14 — 48
| Safari iOS
Full support
3.2
| Samsung Internet Android
No support
1.0 — 10.0
|
Legend
- Full support
- Full support
- No support
- No 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.
