Spec-Zone.ru › CSS

mix-blend-mode

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Свойство mix-blend-mode CSS задаёт, как контент элемента должен смешиваться с контентом родительского элемента и фоном элемента.

Попробовать

Синтаксис

/* Keyword values */
mix-blend-mode: normal;
mix-blend-mode: multiply;
mix-blend-mode: screen;
mix-blend-mode: overlay;
mix-blend-mode: darken;
mix-blend-mode: lighten;
mix-blend-mode: color-dodge;
mix-blend-mode: color-burn;
mix-blend-mode: hard-light;
mix-blend-mode: soft-light;
mix-blend-mode: difference;
mix-blend-mode: exclusion;
mix-blend-mode: hue;
mix-blend-mode: saturation;
mix-blend-mode: color;
mix-blend-mode: luminosity;
mix-blend-mode: plus-darker;
mix-blend-mode: plus-lighter;

/* Global values */
mix-blend-mode: inherit;
mix-blend-mode: initial;
mix-blend-mode: revert;
mix-blend-mode: revert-layer;
mix-blend-mode: unset;

Значения

<blend-mode>

Режим смешивания, который следует применить.

plus-darker

Смешивание с использованием оператора композиции plus-darker.

plus-lighter

Смешивание с использованием оператора композиции plus-lighter. Полезно для эффектов перехода (предотвращает нежелательные мерцания, когда два перекрывающихся элемента анимируют свою непрозрачность в противоположных направлениях).

Формальное определение

Начальное значение normal
Применяется к всем элементам
Наследуется нет
Вычисленное значение как указано
Тип анимации Не анимируется
Создаёт контекст стекирования да

Формальный синтаксис

mix-blend-mode = 
<blend-mode> |
plus-darker |
plus-lighter

<blend-mode> =
normal |
multiply |
screen |
overlay |
darken |
lighten |
color-dodge |
color-burn |
hard-light |
soft-light |
difference |
exclusion |
hue |
saturation |
color |
luminosity

Примеры

Эффект различных значений mix-blend-mode

Использование mix-blend-mode с HTML

HTML

<div class="isolate">
  <div class="circle circle-1"></div>
  <div class="circle circle-2"></div>
  <div class="circle circle-3"></div>
</div>

CSS

.circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  mix-blend-mode: screen;
  position: absolute;
}

.circle-1 {
  background: red;
}

.circle-2 {
  background: lightgreen;
  left: 40px;
}

.circle-3 {
  background: blue;
  left: 20px;
  top: 40px;
}

.isolate {
  isolation: isolate; /* Without isolation, the background color will be taken into account */
  position: relative;
}

Результат

Использование mix-blend-mode с SVG

SVG

<svg>
  <g class="isolate">
    <circle cx="40" cy="40" r="40" fill="red" />
    <circle cx="80" cy="40" r="40" fill="lightgreen" />
    <circle cx="60" cy="80" r="40" fill="blue" />
  </g>
</svg>

CSS

circle {
  mix-blend-mode: screen;
}
.isolate {
  isolation: isolate;
} /* Without isolation, the background color will be taken into account */

Результат

Использование mix-blend-mode с текстом

В этом примере используется mix-blend-mode для смешивания цвета текста с цветом фона родительского элемента.

HTML

<div class="container">
  <p>Mostly Harmless</p>
  <p class="multiply">Mostly Harmless</p>
  <p class="screen">Mostly Harmless</p>
  <p class="hard-light">Mostly Harmless</p>
</div>

CSS

@import url("https://fonts.googleapis.com/css2?family=Rubik+Moonrocks&display=swap");

.container {
  background-color: blue;
}

p {
  font:
    4rem "Rubik Moonrocks",
    cursive;
  font-weight: bold;
  color: orange;
  padding: 0.5rem;
  margin: 0;
}

.multiply {
  mix-blend-mode: multiply;
}

.screen {
  mix-blend-mode: screen;
}

.hard-light {
  mix-blend-mode: hard-light;
}

Результат

Спецификации

Спецификация
Уровень 2 композиции и смешивания
# mix-blend-mode

Совместимость с браузерами

Десктоп Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
mix-blend-mode 41 79 32 28 8 41 32 28 8 4.0 41
plus-darker Нет Нет Нет Нет ≤13.1 Нет Нет Нет ≤13.4 Нет Нет
plus-lighter 100 100 99 Нет 9.1 100 99 Нет 9.3 19.0 100
svg_elements 41 79 32 28 Нет Нет 32 Нет Нет Нет Нет

См. также

  • <blend-mode>
  • background-blend-mode

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API