Свойство mask-mode

Свойство mask-mode задава начина на взаимодействие на маската с фона на елемента. То определя дали маската ще използва алфа канал (прозрачност) или стойности на яркост (luminance) на изображението-маска.

Синтаксис

cssселектор {
  mask-mode: alpha | luminance | match-source;
}

Стойности

Стойност Описание
alpha Маската използва само алфа канал (прозрачност) на изображението.
luminance Маската използва стойности на яркост на изображението (бяло = видимо, черно = прозрачно).
match-source За изображения използва алфа канал, за SVG - luminance (стойност по подразбиране).

Пример . Режим alpha

Прилагане на SVG-маска в режим alpha:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: url("heart.svg") center/150px no-repeat;
  mask-mode: alpha;
}

Результат:

Пример . Режим luminance

Прилагане на SVG-маска в режим luminance:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: url("heart.svg") center/150px no-repeat;
  mask-mode: luminance;
}

Результат:

Пример . SVG маска с режим match-source

Използване на стойност по подразбиране (match-source) за SVG:

html<img id="image" src="image.jpg">
<svg width="0" height="0">
  <mask id="svg-mask">
    <path d="M150 15L183 111L285 111L204 171L237 267L150 216L63 267L96 171L15 111L117 111Z" fill="white"/>
  </mask>
</svg>
css#image {
  width: 500px;
  height: 281px;
  mask: url(#svg-mask);
  mask-mode: match-source;
}

Результат:

Пример . Композиция с различни режими

Комбиниране на маски с различни режими на наслагване:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: 
    url("heart.svg") 100px 50px / 150px no-repeat alpha,
    url("arrow.svg") 200px 30px / 150px no-repeat luminance;
  mask-composite: add;
}

Результат:

Вижте също

  • свойство mask-image,
    задава изображение за маската
  • свойство mask-composite,
    определя взаимодействието на няколко маски
  • свойство mask,
    съкращение за всички свойства за маскиране