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.