revert
Базовая Широко распространенная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2020 года.
Ключевое слово revert CSS отменяет каскадное значение свойства от его текущего значения до значения, которое имело бы свойство, если бы не было внесено никаких изменений текущим источником стиля для текущего элемента. Таким образом, он сбрасывает свойство либо до значения, установленного пользовательским агентом, до значения, установленного пользователем, до его унаследованного значения (если оно унаследуется), или до начального значения. Он может применяться к любому свойству CSS, включая сокращенное свойство CSS all.
Это ключевое слово удаляет из каскада все стили, которые были переопределены до тех пор, пока не будет достигнуто свойство, которое должно быть отменено.
- Если используется собственными стилями сайта (источник автора),
revertотменяет каскадное значение свойства до пользовательского стиля, если он существует; в противном случае он отменяет стиль до значения по умолчанию пользовательского агента. - Если используется в пользовательском стиле, или если стиль был применён пользователем (источник пользователя),
revertотменяет каскадное значение до значения по умолчанию пользовательского агента. - Если используется в значениях по умолчанию пользовательского агента, это ключевое слово функционально эквивалентно
unset.
Ключевое слово revert работает точно так же, как unset во многих случаях. Единственное отличие касается свойств, значения которых задаются браузером или пользовательскими стилями, созданными пользователями (установленными на стороне браузера).
Revert не повлияет на правила, применяемые к дочерним элементам элемента, который вы сбросили (но удалит влияние родительского правила на дочерний элемент). Так, если у вас есть color: green для всех разделов и all: revert в определённом разделе, цвет раздела будет чёрным. Но если у вас есть правило, чтобы сделать все абзацы красными, то все абзацы по-прежнему будут красными во всех разделах.
Примечание: Revert — это просто значение. Всё ещё возможно переопределить значение revert с помощью специфичности.
Примечание: Ключевое слово revert отличается от и не должно смешиваться с ключевым словом initial, которое использует начальное значение, определённое для каждого свойства спецификациями CSS. В отличие от этого, стили пользовательского агента устанавливают значения по умолчанию на основе селекторов CSS.
Например, начальное значение для свойства display равно inline, в то время как обычные стили пользовательского агента устанавливают значение по умолчанию display для <div> в block, для <table> в table и так далее.
Примеры
Revert по сравнению с unset
Хотя revert и unset похожи, они отличаются для некоторых свойств для некоторых элементов.
Итак, в примере ниже мы устанавливаем пользовательское font-weight, но затем пытаемся revert и unset его в строке HTML-документа. Ключевое слово revert вернёт текст жирным, так как это значение по умолчанию для заголовков в большинстве браузеров. Ключевое слово unset сохранит текст обычным, поскольку, как унаследованное свойство, font-weight унаследует своё значение от тела.
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 {
color: steelblue;
}
section {
color: darkgreen;
}
p {
color: red;
}
section.with-revert {
color: revert;
}
Результат
Обратите внимание, как абзац остаётся красным, даже если свойство color для секции было сброшено. Также обратите внимание, что заголовок и простой текстовый узел являются steelblue. Результатом сброса является то, что section { color: darkgreen; } как будто не существовало для секции с применённым color: revert.
Кроме того, если ни пользовательский агент, ни пользователь не переопределяют значения цвета <h3> или <section>, то цвет steelblue наследуется от <main>, так как свойство color является свойством, наследуемым по умолчанию.
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
revert |
84 | 84 | 67 | 70 | 9.1 | 84 | 67 | 60 | 9.3 | 14.0 | 84 |
См. также
- Используйте ключевое слово
initial, чтобы установить свойство в его начальное значение. - Используйте ключевое слово
inherit, чтобы сделать свойство элемента таким же, как у его родителя. - Используйте ключевое слово
revert-layerдля сброса свойства к значению, установленому в предыдущем слое каскада. - Используйте ключевое слово
unset, чтобы установить свойство к его унаследованному значению, если оно наследуется, или к его начальному значению, если нет. - Свойство
allпозволяет сбросить все свойства сразу к их начальному, унаследованному, сброшенному или сброшенному состоянию.
© 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/revert