Як відобразити текст на зображенні за допомогою CSS3 mix-blend-mode
Фонові зображення відмінно виглядають за великими текстами дисплея. Проте його реалізація CSS не так проста. Ми можемо використовувати background-clip: текст;
властивість, однак це ще одна експериментальна функція без достатньої підтримки браузера.
Альтернатива CSS для показу фону зображення за текстом за допомогою mix-blend-mode
власності. Режими суміщення для елементів HTML достатньо підтримуються у всіх сучасних веб-переглядачах для робочого столу та мобільних пристроях, за винятком декількох, наприклад, Internet Explorer.
На цій посаді ми побачимо, як це зробити mix-blend-mode
(спеціально два його режими) працює, і як ви можете використовувати його відображення тексту з фоном зображення у двох випадках:
- коли фонове зображення можна побачити через текст
- коли фонове зображення біжить текст
Нижче наведено приклади демонстрації (зображення з сайту unsplash.com).
The mix-blend-mode
Властивість CSS визначає як зміст і тлі елемента HTML змішайте разом.
Подивіться на список режимів накладання, з яких ми будемо використовувати помножити
і екрану
у цій публікації.
По-перше, давайте подивимося, як працюють ці два специфічні режими накладання.
Як помножити
& екрану
режими накладання працюють
Режими накладання є технічними функціями обчислити кінцеве значення кольору використання кольорових компонентів елемента та його фонового зображення.
The помножити
режим накладання
В помножити
Режим накладання, індивідуальні кольори елементів і їх фони помножити, і отриманий колір застосовується до останньої змішаної версії.
The помножити
Режим накладання обчислюється за такою формулою:
B (Cb, Cs) = Cb × Cs
де:Cb
- Кольорова складова на тліCs
- Кольорова складова вихідного елементаB
- Функція накладання
Коли Cb
і Cs
розмножуються, отриманий колір є сумішшю цих двох колірних компонентів і є темний, як самий темний з двох кольорів.
Щоб створити наше фонове зображення тексту, ми повинні зосередитися на випадку, коли Cs
(колірний компонент вихідного елемента) або чорний, або білий.
Якщо Cs
є чорний його значення 0
, вихідний колір також буде чорний, тому що Cb × 0 = 0
. Отже, коли елемент забарвлений в чорний колір, він не має значення, який колірний фон є, все, що ми бачимо після змішування, є чорним.
Якщо Cs
є білий його значення 1
, вихідний колір є будь-яким Cb
є, тому щоCb × 1 = Cb
. Отже, в цьому випадку ми бачимо фон прямо так як є.
The екрану
режим накладання
The екрану
Режим накладання працює аналогічно помножити
режим накладання, але з протилежним результатом. Отже, a чорний переднього плану показує фон так як є, а білий передній план показує білий з будь-яким фоном.
Давайте швидко побачимо його формулу:
B (Cb, Cs) = Cb + Cs - (Cb × Cs)
Коли Cs
є чорний (0), колір фону буде показано після змішування, як:
Cb + 0 - (Cb × 0) = Cb + 0 - 0 = Cb
Коли Cs
є білий (1) результат буде білим з будь-якого фону, як:
Cb + 1 - (Cb × 1) = Cb + 1 - Cb = 1
1. Зображення показано через текст
Для відображення тексту, що відображається через його фонове зображення, ми використовуємо екрану
режим накладання с чорний текст і білий навколишній простір.
Вода
.фон width: 600px; висота: 210px; фон-зображення: url (someimage.jpg); розмір фону: 100%; margin: auto; .text колір: чорний; колір фону: білий; mix-blend-режим: екран; ширина: 100%; висота: 100%; розмір шрифту: 160pt; font-weight: bolder; text-align: center; висота рядка: 210px; маржа: 0;
Наразі наш текст виглядає нижче, на наступному етапі ми додамо колір фону до фону.
Додавання кольору
Як ви вже здогадалися, використання режимів накладання залишає нам лише два кольори для області, яка оточує текст - Чорне чи біле. Однак з білим, можна додати до нього певний колір за допомогою накладання, якщо колір накладення добре відповідає використаному зображенню.
Щоб додати колір до навколишньої області, додайте a Вода За допомогою цієї техніки ми можемо пофарбувати навколишню область навколо тексту фоном зображення: Зауважимо, що техніка добре працює тільки з тонкі прозорі кольори. Якщо ви використовуєте повністю непрозорий колір або колір, який не збігається з зображенням, зображення, що з'являється в тексті, матиме дуже помітний відтінок використовуваного кольору, тому, якщо це не вигляд, уникайте непрозорих кольорів. Навіть при нормальному розміщенні тексту на фоні зображення вимагає тієї ж методики, Я покажу вам приклад того, як вищезгадана демонстрація виглядає, коли ефект зворотний, тобто, коли колір тексту білий, а фон чорний. Ви можете використовувати таке ж накладання щоб додати деякий колір тексту, якщо ви не хочете, щоб він був білим. Нижче ви можете побачити, як виглядає зворотний випадок: Зверніть увагу, що в Internet Explorer або в будь-якому іншому браузері, який не підтримує mix-blend-mode: множення
властивість для накладання, оскільки це допомагає кольору фону накладання суміш трохи краще із зображенням, що з'являється всередині тексту.
.накладення фоновий колір: rgba (0,255,255, .1); mix-blend-режим: множення; ширина: 100%; висота: 100%; позиція: абсолютна; зверху: 0;
2. Текст, оточений фоном зображення
.текст колір: білий; фоновий колір: чорний; mix-blend-режим: екран; ширина: 100%; висота: 100%; розмір шрифту: 160pt; font-weight: bolder; text-align: center; висота рядка: 210px; маржа: 0;
.накладення фоновий колір: rgba (0,255,255, .1); mix-blend-режим: множення; ширина: 100%; висота: 100%; позиція: абсолютна; зверху: 0;
mix-blend-mode
властивість, фон зображення не з'явиться, а текст залишатиметься чорним (або білим).