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
Использование 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 | Нет | Нет | Нет | Нет |
См. также
© 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