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.

Summary

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

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
Animatableno
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Syntax

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

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 Content

#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 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] No support[2] No support No support[1] No support[1]
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? No support[1] No support ? ?

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

[2] This feature is not implemented yet. See bug 1251161.

Document Tags and Contributors

 Contributors to this page: Sebastianz, Siilwyn
 Last updated by: Sebastianz,