Контекстные селекторы в CSS2

Мне интересно, зачем стилизовать элемент в определенном классе, например:

.reddish H1 { color: red }

показан как пример правильного синтаксиса в спецификации CSS1 в разделе Контекстные селекторы:

Каскадные таблицы стилей, уровень 1

но это не показано в качестве примера в спецификации CSS2:

Каскадные таблицы стилей, уровень 2

По крайней мере, я не могу найти такого примера. Изменились ли правила синтаксиса для этого в CSS2, или это просто выводится как правильный синтаксис?

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
0
326
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Этот синтаксис правильный, но пример мог измениться по нескольким причинам.

Во-первых, не рекомендуется называть классы по описанию того, что они делают. В случае .reddish h1 пример CSS показывает, что он должен быть окрашен в красный цвет. Однако, если в более поздних изменениях дизайна h1 должен быть синим, тогда

.reddish h1 { color: blue; }

имеет мало смысла. Вы должны называть свои классы по их функциям или назначению на странице, а не по стилю, который они должны представлять.

Во-вторых, не рекомендуется использовать ключевые слова для цветов, так как цвет, который вы получаете, зависит от интерпретации браузера. Вместо «красный» вы должны использовать шестнадцатеричный код «# ff0000», чтобы получить точный цвет во всех браузерах. (красный может быть здесь не лучшим примером, но есть несколько странных ключевых слов о цвете).

Хотя ни одна из этих вещей не так уж плоха, они оба могут объяснить, почему пример был изменен в спецификации.

Вы должны писать элементы строчными буквами (h1, а не H1).

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