Ключевое слово CSS `revert`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на множестве устройств и в разных версиях браузеров. Она доступна во всех браузерах с июля 2020 года.
Ключевое слово revert в CSS возвращает каскадное значение свойства из его текущего значения к тому, которое было бы у свойства, если бы текущий источник стилей не вносил изменений для текущего элемента. Таким образом, оно сбрасывает свойство либо к значению, заданному пользовательским агентом, либо к значению, заданному пользователем, либо к унаследованному значению (если свойство наследуется), либо к начальному значению. Его можно применить к любому свойству CSS, в том числе к сокращённому свойству CSS all.
Это ключевое слово удаляет из каскада все стили, переопределённые до того стиля, к которому выполняется возврат.
- Если это ключевое слово используется в собственных стилях сайта (источник — автор),
revertвозвращает каскадное значение свойства к пользовательскому стилю, если он задан; в противном случае стиль возвращается к стилю по умолчанию пользовательского агента. - Если это ключевое слово используется в пользовательской таблице стилей или если стиль применён пользователем (источник — пользователь),
revertвозвращает каскадное значение к стилю по умолчанию пользовательского агента. - Если это ключевое слово используется в стилях по умолчанию пользовательского агента, оно функционально эквивалентно
unset.
Во многих случаях ключевое слово revert работает точно так же, как unset. Единственное различие касается свойств, значения которых заданы браузером или пользовательскими таблицами стилей (на стороне браузера).
Возврат не повлияет на правила, применённые к дочерним элементам сброшенного элемента (но удалит влияние родительского правила на дочерний элемент). Поэтому, если для всех разделов задано color: green, а для конкретного раздела — all: revert, цвет раздела будет чёрным. Но если задано правило, делающее все абзацы красными, все абзацы во всех разделах останутся красными.
Примечание: Revert — это всего лишь значение. Значение revert по-прежнему можно переопределить с помощью специфичности.
Примечание: Ключевое слово revert отличается от ключевого слова initial, и их не следует путать. Последнее использует начальное значение, определённое для каждого свойства спецификациями CSS. В отличие от этого, таблицы стилей пользовательского агента задают значения по умолчанию на основе селекторов CSS.
Например, начальное значение свойства display — inline, тогда как обычная таблица стилей пользовательского агента задаёт для элементов <div> значение display по умолчанию block, для элементов <table> — table и т. д.
Примеры
Revert и unset
Хотя revert и unset похожи, для некоторых свойств и элементов они различаются.
В примере ниже мы задаём пользовательское значение font-weight, а затем пытаемся задать для него значения revert и unset непосредственно в HTML-документе. Ключевое слово revert вернёт тексту полужирное начертание, поскольку в большинстве браузеров это значение по умолчанию для заголовков. Ключевое слово unset оставит текст обычным, поскольку font-weight — наследуемое свойство, и тогда оно унаследует значение от body.
HTML
<h3 style="font-weight: revert; color: revert;"> This should have its original font-weight (bold) and color: black </h3> <p>Just some text</p> <h3 style="font-weight: unset; color: unset;"> This will still have font-weight: normal, but color: black </h3> <p>Just some text</p>
CSS
h3 {
font-weight: normal;
color: blue;
}
Результат
Сброс всех значений
Сброс всех значений полезен в ситуации, когда вы внесли несколько изменений стилей, а затем хотите вернуть значения браузера по умолчанию. Поэтому в примере выше вместо того, чтобы отдельно сбрасывать font-weight и color, можно сбросить их все сразу — применив ключевое слово revert к all.
HTML
<h3>This will have custom styles</h3> <p>Just some text</p> <h3 style="all: revert">This should be reverted to browser/user defaults.</h3> <p>Just some text</p>
CSS
h3 {
font-weight: normal;
color: blue;
border-bottom: 1px solid grey;
}
Результат
Сброс значения родительского элемента
Сброс фактически удаляет значение для выбранного вами правилами элемента, и происходит это только для данного элемента. Чтобы показать это, зададим зелёный цвет для раздела и красный — для абзаца.
HTML
<main>
<section>
<h3>This h3 will be dark green</h3>
<p>Text in paragraph will be red.</p>
This stray text will also be dark green.
</section>
<section class="with-revert">
<h3>This h3 will be steelblue</h3>
<p>Text in paragraph will be red.</p>
This stray text will also be steelblue.
</section>
</main>
CSS
main {
border: 3px solid steelblue;
}
section {
margin: 0.5rem;
border: 2px dashed darkgreen;
}
main {
color: steelblue;
}
section {
color: darkgreen;
}
p {
color: red;
}
section.with-revert {
color: revert;
}
Результат
Обратите внимание: абзац по-прежнему красный, несмотря на то, что свойство color для раздела было сброшено. Также обратите внимание, что и заголовок, и обычный текстовый узел имеют цвет steelblue. После сброса результат такой, как если бы для раздела с применённым color: revert не существовало section { color: darkgreen; }.
Кроме того, если ни пользовательский агент, ни пользователь не переопределяют значения цвета <h3> или <section>, то цвет steelblue наследуется от <main>, поскольку свойство color наследуется.
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
revert |
84 |
84 |
67 |
70 |
9.1 |
84 |
67 |
60 |
9.3 |
14.0 |
84 |
9.3 |
См. также
- Используйте ключевое слово
initial, чтобы задать для свойства начальное значение. - Используйте ключевое слово
inherit, чтобы задать свойству элемента такое же значение, как у его родителя. - Используйте ключевое слово
revert-layer, чтобы сбросить свойство к значению, заданному на предыдущем уровне каскада. - Используйте ключевое слово
revert-rule, чтобы сбросить свойство к значению более раннего подходящего правила стилей. - Используйте ключевое слово
unset, чтобы задать свойству унаследованное значение, если оно наследуется, или начальное значение, если нет. - Свойство
allпозволяет одновременно сбросить все свойства до их начального, унаследованного, возвращённого или неустановленного состояния.
© 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