создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Контекстные селекторы. CSS. Учебник от Маржевича

При создании веб-страницы часто приходится вкладывать одни теги внутрь других. Чтобы стили для этих тегов использовались корректно, помогут селекторы, которые работают только в определённом контексте. Например, задать стиль для тега только когда он располагается внутри контейнера <p>. Таким образом можно одновременно установить стиль для отдельного тега, а также для тега, который находится внутри другого.

Контекстный селектор состоит из простых селекторов разделенных пробелом. Так, для селектора тега синтаксис будет следующий.

Тег1 Тег2 {…}

В этом случае стиль будет применяться к Тегу2 когда он размещается внутри Тега1, как показано ниже.

<Тег1>
<Тег2> … </Тег2>
</Тег1>

Использование контекстных селекторов продемонстрировано в примере 10.1.

Пример 10.1. Контекстные селекторы

HTML5 CSS2.1 IE Cr Op Sa Fx

<title>Контекстные селекторы</title>
<style>
P B {
font-family:Times, serif;/*Семейство шрифта*/
color:navy;/*Синий цвет текста*/
}
</style>
<div>Жирное начертание текста</div>
<p>Одновременно жирное начертание текста
и выделенное цветом

В данном примере показано обычное применение тега и этого же тега, когда он вложен внутрь абзаца <p>. При этом меняется цвет и шрифт текста, как показано на рис. 10.1.

Рис.10.1. Оформление текста в зависимости от вложенности тегов

Не обязательно контекстные селекторы содержат только 1 вложенный тег. В зависимости от ситуации допустимо применять 2 и более последовательно вложенных друг в друга тегов.

Более широкие возможности контекстные селекторы дают при использовании идентификаторов и классов. Это позволяет устанавливать стиль только для того элемента, который располагается внутри определённого класса, как показано в примере 10.2.

Пример 10.2. Использование классов

HTML5 CSS2.1 IE Cr Op Sa Fx

<title>Контекстные селекторы</title>
<style>
A {
color:green;/*Зеленый цвет текста для всех ссылок*/
}
.menu {
padding: 7px;/*Поля вокруг текста*/
border: 1px solid #333;/*Параметры рамки*/
background: #fc0;/*Цвет фона*/
}
.menu A {
color:navy;/*Темно-синий цвет ссылок*/
}
</style>
<div class="menu">
<a href="1.html">Русская кухня</a> |
<a href="2.html">Украинская кухня</a> |
<a href="3.html">Кавказская кухня</a>
</div>
<p><a href="text.html">Другие материалы по теме</a>

Результат данного примера показан на рис.10.2.

Рис.10.2. Ссылки разных цветов

В данном примере используется 2 типа ссылок. Первая ссылка, стиль которой задаётся с помощью селектора A, будет действовать на всей странице, а стиль 2-й ссылки ( .menu A) применяется только к ссылкам внутри элемента с классом menu.

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

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting