CSS-свойствоВ стандарте

CSS mask — синтаксис и примеры

CSS-свойство mask: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Практический смысл

В материале о «mask» основное внимание уделено области «цвет и отрисовка». Свойство mask относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Проверяйте поведение «mask» в интерфейсе, которым управляют только клавиатурой, причём фиксируйте ожидаемое состояние до открытия DevTools.

Практическое правило для mask

Рабочий критерий для «mask»: проверьте вычисленное значение mask, наследование и контекст родителя. Если результат «mask» меняется вместе с посторонним условием, пример ещё не изолирован.

Синтаксис mask

Для демонстрации «mask» используется короткий код с наблюдаемым результатом. Сохраните структуру примера, когда будете проверять другое значение.

css
.demo {
  mask: #2563eb;
}
Открыть в Playground

Как работает mask

Браузер обрабатывает «mask» в контексте области «цвет и отрисовка»: свойство mask относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Для «mask» наблюдения через победившую декларацию во вкладке Computed и перестроение при смене writing-mode отделяют исходное условие от результата.

Проверка в проекте

  • Проверьте вычисленное значение mask, наследование и контекст родителя; результат относится непосредственно к «mask».
  • Сравнить дерево доступности до и после добавления конструкции при разборе «mask».
  • Проверьте «mask» в интерфейсе, которым управляют только клавиатурой через победившую декларацию во вкладке Computed и запишите наблюдаемое изменение.
Выбор конструкции

Выбор «mask» оправдан, если задача относится к области «цвет и отрисовка», а риск «изолированная декларация mask без связанных ограничений может дать другой результат в реальном компоненте» исключён проверкой. Для «mask» сравнивайте не внешний вид, а результат для пользователя.

Практика с mask

Перенесите «mask» в рабочем фрагменте интерфейса и испытайте его в интерфейсе, которым управляют только клавиатурой. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «mask»: изолированная декларация mask без связанных ограничений может дать другой результат в реальном компоненте.

цвет и отрисовкаmask

Сценарий: в интерфейсе, которым управляют только клавиатурой.

Ошибки при работе с mask

01

Устойчивость

Изолированная декларация mask без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «mask».

02

Доступность

Использование !important вместо разбора каскада при использовании «mask».

03

Каскад

Фиксированные размеры, которые перестают вмещать реальное содержимое; для «mask» проверьте это отдельно.

Поддержка mask

Для «mask» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «mask»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 120Edgeс версии 120Firefoxс версии 53Safariс версии 15.4

Спецификация: источник 1.

Вопросы о mask

Как понять, что «mask» выбрано правильно?

«mask» выбрано правильно, когда оно решает задачу «определять визуальный слой элемента без изменения смысловой структуры документа», сохраняет результат в интерфейсе, которым управляют только клавиатурой и проходит предметную проверку: проверьте вычисленное значение mask, наследование и контекст родителя.

Нужен ли запасной вариант для «mask»?

Запасной вариант для «mask» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «mask» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.