Лекция
Привет, сегодня поговорим про контекстные селекторы в css, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое контекстные селекторы в css , настоятельно рекомендую прочитать все из категории Каскадные таблицы стилей CSS/ CSS3.
При создании веб-страницы часто приходится вкладывать одни теги внутрь других. Чтобы стили для этих тегов использовались корректно, помогут селекторы, которые работают только в определенном контексте. Например, задать стиль для тега <b> только когда он располагается внутри контейнера <p>. Таким образом можно одновременно установить стиль для отдельного тега, а также для тега, который находится внутри другого.
Контекстный селектор состоит из простых селекторов разделенных пробелом. Так, для селектора тега синтаксис будет следующий.
Тег1 Тег2 { ... }
В этом случае стиль будет применяться к Тегу2 когда он размещается внутри Тега1, как показано ниже.
<Тег1>
<Тег2> ... </Тег2>
</Тег1>
Использование контекстных селекторов продемонстрировано в примере 10.1.
Пример 10.1. Контекстные селекторы
HTML 5 CSS 2.1
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Контекстные селекторы</title>
<style>
P B {
font-family: Times, serif; /* Семейство шрифта */
color: navy; /* Синий цвет текста */
}
</style>
</head>
<body>
<div><b>Жирное начертание текста</b></div>
<p><b>Одновременно жирное начертание текста
и выделенное цветом</b></p>
</body>
</html>
Рис. 10.1. Оформление текста в зависимости от вложенности тегов
Не обязательно контекстные селекторы содержат только один вложенный тег. В зависимости от ситуации допустимо применять два и более последовательно вложенных друг в друга тегов.
Более широкие возможности контекстные селекторы дают при использовании идентификаторов и классов. Это позволяет устанавливать стиль только для того элемента, который располагается внутри определенного класса, как показано в примере 10.2.
Пример 10.2. Использование классов
HTML 5 CSS 2.1
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Контекстные селекторы</title>
<style>
A {
color: green; /* Зеленый цвет текста для всех ссылок */
}
.menu {
padding: 7px; /* Поля вокруг текста */
border: 1px solid #333; /* Параметры рамки */
background: #fc0; /* Цвет фона */
}
.menu A {
color: navy; /* Темно-синий цвет ссылок */
}
</style>
</head>
<body>
<div class="menu">
<a href="http://site.ru/1.html">Русская кухня</a> |
<a href="http://site.ru/2.html">Украинская кухня</a> |
<a href="http://site.ru/3.html">Кавказская кухня</a>
</div>
<p><a href="http://site.ru/text.html">Другие материалы по теме</a></p>
</body>
</html>
Результат данного примера показан на рис. 10.2.
Рис. 10.2. Ссылки разных цветов
В данном примере используется два типа ссылок. Первая ссылка, стиль которой задается с помощью селектора A, будет действовать на всей странице, а стиль второй ссылки (.menu A) применяется только к ссылкам внутри элемента с классом menu.
При таком подходе легко управлять стилем одинаковых элементов, вроде изображений и ссылок, оформление которых должно различаться в разных областях веб-страницы.
1. Какой цвет будет у текста списка в следующем коде?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Контекстные селекторы</title>
<style>
UL LI UL { color: green; }
UL UL { color: red; }
LI SPAN { color: blue; }
LI LI { color: fuchsia; }
UL SPAN { color: orange; }
</style>
</head>
<body>
<ul>
<li>
<ul>
<li><span>Первый</span></li>
<li><span>Второй</span></li>
<li><span>Третий</span></li>
</ul>
</li>
</ul>
</body>
</html>
2. В коде выше какого цвета будут маркеры перед текстом?
1. Оранжевый.
2. Розового.
На этом все! Теперь вы знаете все про контекстные селекторы в css, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое контекстные селекторы в css и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Каскадные таблицы стилей CSS/ CSS3
Из статьи мы узнали кратко, но содержательно про контекстные селекторы в cssОтветы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.
Комментарии
Оставить комментарий
Каскадные таблицы стилей CSS/ CSS3
Термины: Каскадные таблицы стилей CSS/ CSS3