
- •3. Создание статического содержания. Css
- •3.1. Таблицы стилей css
- •3.1.1. Общее описание
- •3.1.2. Добавление css
- •3.1.2.1. Таблица связанных стилей
- •3.1.2.2. Таблица глобальных стилей
- •3.1.2.3. Внутренние стили
- •3.1.3. Базовый синтаксис
- •3.1.4. Селекторы тегов
- •3.1.4.1. Классы
- •3.1.4.2. Идентификаторы
- •3.1.4.3. Контекстные селекторы
- •3.1.4.4. Соседние селекторы
- •3.1.4.5. Дочерние селекторы
- •3.1.4.6. Селекторы атрибутов
- •3.1.4.7. Универсальный селектор
- •3.1.4.8. Группирование
- •3.1.5. Наследование
- •3.1.6. Псевдоклассы
- •3.1.6.1. Псевдоклассы, определяющие состояние элементов
- •3.1.6.2. Псевдоклассы, имеющие отношение к дереву документа
- •3.1.7. Псевдоэлементы
- •3.1.8. Элементы css
- •3.1.8.1. Текст
- •3.1.8.2. Цвет
- •3.1.8.4. Ссылки
- •3.1.8.5. Списки
- •3.1.8.6. Единицы измерения
- •Самой, пожалуй, распространенной единицей является пункт, который используется для указания размера шрифта
- •3.1.9. Пример использования css
- •3.1.10. Ключевые термины
- •3.2. Дополнительная тема: регистрация доменов
- •3.2.1. Общие сведения
- •3.2.2. Регистрация домена
- •3.2.4. Управление доменной зоной
- •3.2.5. Ключевые термины
3.1.4.3. Контекстные селекторы
При создании веб-страницы часто приходится вкладывать одни теги внутрь других. Чтобы стили для этих тегов использовались корректно, помогут селекторы, которые работают только в определенном контексте.
Контекстный селектор состоит из простых селекторов разделенных пробелом. Так, для селектора тега синтаксис будет следующий [2, 5]:
Тег1 Тег2 { ... }
В этом случае стиль будет применяться к Тегу2, когда он размещается внутри Тега1, как показано ниже.
Пример использования контекстных селекторов:
…
<head>
…
<style type="text/css">
P B {
font-weight: bold;
color: navy;
}
</style>
</head>
<body>
<div><b>Жирное начертание текста</b></div>
<p><b>Одновременно жирное начертание текста и выделенное цветом</b></p>
</body>
…
В данном примере показано обычное применение тега <B> и этого же тега, когда он вложен внутрь параграфа <P>. При этом меняется цвет текста, как показано на рис. 3.3.
Рис. 3.3. Результат использования контекстных селекторов
Замечание. Не обязательно контекстные селекторы содержат только один вложенный тег. В зависимости от ситуации допустимо применять два и более последовательно вложенных друг в друга тегов.
Более широкие возможности контекстные селекторы дают при использовании идентификаторов и классов. Это позволяет устанавливать стиль только для того элемента, который располагается внутри определенного класса.
3.1.4.4. Соседние селекторы
Соседними называются элементы веб-страницы, когда они следуют непосредственно друг за другом в коде документа [5]. Рассмотрим пример отношения элементов:
<p>Это <b>пример</b> <var>соседних</var> селекторов.</p>
Теги <VAR> и <B> представляют собой соседние элементы.
Для управления стилем соседних элементов используется символ плюса (+), который устанавливается между двумя селекторами. Общий синтаксис следующий:
Селектор 1 + Селектор 2 { Описание правил стиля }
Пробелы вокруг плюса не обязательны, стиль при такой записи применяется к Селектору 2, но только в том случае, если он является соседним для Селектора 1 и следует сразу после него.
Соседние селекторы удобно использовать для тех тегов, к которым автоматически добавляются отступы, чтобы самостоятельно регулировать величину отбивки. Например, если подряд идут теги <H1> и <H2>, то расстояние между ними легко регулировать как раз с помощью соседних селекторов.
Поскольку при использовании соседних селекторов стиль применяется только ко второму элементу, то размер отступов уменьшается за счет включения отрицательного значения параметра margin-top. При этом текст поднимается вверх, ближе к предыдущему элементу.
3.1.4.5. Дочерние селекторы
Дочерним селектором считается такой, который в дереве элементов находится прямо внутри родительского элемента. Синтаксис применения таких селекторов следующий [2, 5]:
Селектор 1 > Селектор 2 { Описание правил стиля }
Стиль применяется к Селектору 2, но только в том случае, если он является дочерним для Селектора 1.
По своей логике дочерние селекторы похожи на селекторы контекстные. Разница между ними следующая. Стиль к дочернему селектору применяется только в том случае, когда он является прямым потомком, иными словами, непосредственно располагается внутри родительского элемента. Для контекстного селектора допустим любой уровень вложенности.
Заметим, что в большинстве случаев от добавления дочерних селекторов можно отказаться, заменив их контекстными селекторами. Однако использование дочерних селекторов расширяет возможности по управлению стилями элементов, что в итоге позволяет получить нужный результат, а также простой и наглядный код.
Удобнее всего применять указанные селекторы для элементов, которые обладают иерархической структурой – сюда относятся, например, таблицы и разные списки.