Ключевое слово CSS `revert-layer`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с марта 2022 года.
revert-layer — это универсальное ключевое слово CSS, которое откатывает значение свойства в слое каскада к значению свойства в CSS-правиле, соответствующем элементу в предыдущем слое каскада. Значение свойства с этим ключевым словом пересчитывается так, как если бы для целевого элемента в текущем слое каскада не было задано никаких правил.
Если для соответствующего CSS-правила нет другого слоя каскада, к которому можно выполнить откат, значение свойства возвращается к вычисленному значению, полученному из текущего слоя. Кроме того, если в текущем слое нет соответствующего CSS-правила, значение свойства для элемента возвращается к стилю, определённому в предыдущем источнике стилей.
Это ключевое слово можно применять к любому свойству CSS, включая сокращённое свойство CSS all.
Revert-layer и revert
Ключевое слово revert-layer позволяет откатить стили к заданным в предыдущих слоях каскада в рамках источника стилей автора. В отличие от него, ключевое слово revert позволяет откатить стили, применённые в источнике стилей автора, к стилям, заданным в источнике стилей пользователя или агента пользователя.
Ключевое слово revert-layer предназначено в первую очередь для свойств внутри слоя каскада. Однако, если применить его к свойствам вне слоя каскада, значения свойств будут возвращены к значениям, заданным презентационными подсказками (например, атрибутами width и height или элементом <s> в HTML); если таких значений нет, используются значения из таблицы стилей агента пользователя или пользовательских стилей. В отличие от ключевого слова revert, которое рассматривает презентационные подсказки как часть источника стилей автора и также отменяет их, ключевое слово revert-layer игнорирует презентационные подсказки вне слоя каскада и поэтому не отменяет их.
Примеры
Поведение слоёв каскада по умолчанию
В приведённом ниже примере в CSS определены два слоя каскада: base и special. По умолчанию правила в слое special переопределяют конфликтующие правила в слое base, поскольку special указан после base в инструкции объявления @layer.
HTML
<p>This example contains a list.</p> <ul> <li class="item feature">Item one</li> <li class="item">Item two</li> <li class="item">Item three</li> </ul>
CSS
@layer base, special;
@layer special {
.item {
color: red;
}
}
@layer base {
.item {
color: blue;
}
.feature {
color: green;
}
}
Результат
Все элементы <li> соответствуют правилу item в слое special и окрашены в красный цвет. Это поведение слоёв каскада по умолчанию: правила в слое special имеют приоритет над правилами в слое base.
Откат к стилю в предыдущем слое каскада
Рассмотрим, как ключевое слово revert-layer меняет поведение слоёв каскада по умолчанию. В этом примере слой special содержит дополнительное правило feature, нацеленное на первый элемент <li>. Свойству color в этом правиле задано значение revert-layer.
HTML
<p>This example contains a list.</p> <ul> <li class="item feature">Item one</li> <li class="item">Item two</li> <li class="item">Item three</li> </ul>
CSS
@layer base, special;
@layer special {
.item {
color: red;
}
.feature {
color: revert-layer;
}
}
@layer base {
.item {
color: blue;
}
.feature {
color: green;
}
}
Результат
Поскольку для color задано значение revert-layer, значение свойства color откатывается к значению из соответствующего правила feature в предыдущем слое base, поэтому «Элемент один» теперь зелёный.
Откат к стилю из предыдущего источника
В этом примере показано поведение ключевого слова revert-layer, когда нет слоя каскада, к которому можно выполнить откат, и в текущем слое нет соответствующего CSS-правила, из которого можно унаследовать значение свойства.
HTML
<p>This example contains a list.</p> <ul> <li class="item feature">Item one</li> <li class="item">Item two</li> <li class="item">Item three</li> </ul>
CSS
@layer base {
.item {
color: revert-layer;
}
}
Результат
Стили всех элементов <li> возвращаются к значениям по умолчанию из источника агента пользователя.
Спецификации
| Спецификация |
|---|
| Каскад CSS и наследование, уровень 5 # revert-layer |
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
revert-layer |
99 |
99 |
97 |
85 |
15.4 |
99 |
97 |
68 |
15.4 |
18.0 |
99 |
15.4 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/revert-layer