mask-composite

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.

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

/* Keyword values */
mask-composite: add;
mask-composite: subtract;
mask-composite: intersect;
mask-composite: exclude;
/* Global values */
mask-composite: inherit;
mask-composite: initial;
mask-composite: unset;

Initial valueadd
Applies toall elements; In SVG, it applies to container elements excluding the <defs> element and all graphics elements
Inheritedno
Mediavisual
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Syntax

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 syntax

<compositing-operator>#

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

Example

CSS

#masked {
  width: 100px;
  height: 100px;
  background-color: #8cffa0;
  mask-image: url(https://mdn.mozillademos.org/files/12668/MDN.svg),
              url(https://mdn.mozillademos.org/files/12676/star.svg);
  mask-size: 100% 100%;
  mask-composite: add; /* Can be changed in the live sample */
}

Specifications

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

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support No support[1] 53.0 (53.0) No support No support[1] No support[1]
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? 53.0 (53.0) No support ? ?

[1] WebKit and Blink have a -webkit-mask-composite property, which has different keywords.

Document Tags and Contributors

 Contributors to this page: wbamberg, Sebastianz, chrisdavidmills, teoli, Siilwyn
 Last updated by: wbamberg,