mask-composite

Baseline 2023
Newly available

Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it.

Syntax

css
/* Keyword values */
mask-composite: add;
mask-composite: subtract;
mask-composite: intersect;
mask-composite: exclude;

/* Global values */
mask-composite: inherit;
mask-composite: initial;
mask-composite: revert;
mask-composite: revert-layer;
mask-composite: unset;

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

Values

For the composition the current mask layer is referred to as source, while all layers below it are referred to as destination.

add

The source is placed over the destination.

subtract

The source is placed, where it falls outside of the destination.

intersect

The parts of source that overlap the destination, replace the destination.

exclude

The non-overlapping regions of source and destination are combined.

Formal definition

Initial valueadd
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

mask-composite = 
<compositing-operator>#

<compositing-operator> =
add |
subtract |
intersect |
exclude

Examples

Compositing mask layers with addition

html
<div class="masked"></div>
css
.masked {
  width: 100px;
  height: 100px;
  background-color: red;

  mask-image:
    url(https://mdn.github.io/shared-assets/images/examples/mdn.svg),
    url(https://mdn.github.io/shared-assets/images/examples/mask-star.svg);
  mask-size: 100% 100%;
  mask-composite: subtract;
}

Specifications

Specification
CSS Masking Module Level 1
# the-mask-composite

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
mask-composite
add
exclude
intersect
subtract

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.

See also