Spec-Zone.ru › 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.

END_OF_DOCUMENT_MARKER

Возврат к стилю в предыдущем каскадном слое

Давайте рассмотрим, как ключевое слово 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> элементов возвращается к значениям по умолчанию в источнике пользовательского агента.

Спецификации

Спецификация
Уровень 5 каскадирования и наследования CSS
# revert-layer

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
revert-layer 99 99 97 85 15.4 99 97 68 15.4 18.0 99

См. также

  • initial
  • inherit
  • revert
  • unset
  • all
  • Модуль каскада и наследования CSS

© 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-layer

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API