Используйте псевдокласс not для стилизации всех элементов, кроме того, который является дочерним по отношению к определенному

h1 { color: red; }
header h1 { color: revert; }
<body>
  <header>
    <h1>Title</h1>
  </header>
  <h1>Level-1 heading</h1>
  <p>Body text.</p>
  <h1>Level-1 heading</h1>
  <p>Body text.</p>
</body>

Я хочу сделать элементы <h1> красными, кроме <h1> внутри <header>. Я могу сделать это, используя,

h1 { color: red; }
header h1 { color: revert; }

но, может быть, есть лучший способ, используя одно объявление и не перезаписывая?

Я попробовал :not(header) h1 { color: red; }, но почему-то не работает. Другой подход — body > h1 { color: red; }, но для меня он несколько хрупкий.

обратите внимание, что в вашем документе должен быть только один h1

Temani Afif 29.05.2024 15:19
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
1
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я хочу сделать элементы <h1> красными, кроме <h1> внутри <header>.

h1:not(header h1) {
  color:red
}

h1:not(header h1) {
  color: red
}
<header>
  <h1>Title</h1>
</header>
<h1>Level-1 heading</h1>
<p>Body text.</p>
<h1>Level-1 heading</h1>
<p>Body text.</p>

Я люблю CSS. Я думаю, этот синтаксис поддерживает любую (синтаксически правильную) цепочку селекторов в скобках «не»?

Gunnar 29.05.2024 15:25

Другие вопросы по теме