При создании веб-страницы часто приходится вкладывать одни теги внутрь других. Чтобы стили для этих тегов использовались корректно, помогут селекторы, которые работают только в определенном контексте. Например, задать стиль для тега <B> только когда он располагается внутри контейнера <P>. Таким образом можно одновременно установить стиль для отдельного тега, а также для тега, который находится внутри другого. Контекстный селектор состоит из простых селекторов разделенных пробелом. Так, для селектора тега синтаксис будет следующий. Тег1 Тег2 { ... } В этом случае стиль будет применяться к Тегу2 когда он размещается внутри Тега1, как показано ниже. <Тег1> <Тег2> ... </Тег2> </Тег1> Использование контекстных селекторов продемонстрировано в примере 9.1. Пример 9.1. Контекстные селекторы <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <style type="text/css"> P B { font-family: Times, serif; font-weight: bold; color: navy } </style> </head> <body>
<b>Жирное начертание текста </b> <p><b>Одновременно жирное начертание текста и выделенное цветом</b></p>
</body> </html> В данном примере показано обычное применение тега <B> и этого же тега, когда он вложен внутрь параграфа <P>. При этом меняется цвет и шрифт текста, как показано ниже. Жирное начертание текстаОдновременно жирное начертание текста и выделенное цветом
Замечание Не обязательно контекстные селекторы содержат только один вложенный тег. В зависимости от ситуации допустимо применять два и более последовательно вложенных друг в друга тегов. Более широкие возможности контекстные селекторы дают при использовании идентификаторов и классов. Это позволяет устанавливать стиль только для того элемента, который располагается внутри определенного класса, как показано в примере 9.2. Пример 9.2. Использование классов <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <style type="text/css"> A { color: green }
.menu { padding: 7px; border: 1px solid #333; background: #fc0 }
.menu A { color: navy }
.menu A:hover { color: red } </style> </head> <body>
<div class="menu"> <a href="link1.html">Русская кухня</a> | <a href="link2.html">Украинская кухня</a> | <a href="link3.html">Кавказская кухня</a> </div> <p><a href="link4.html">Другие материалы по теме</a></p>
</body> </html> Результат данного примера показан ниже. В данном примере используется два типа ссылок. Первая ссылка, стиль которой задается с помощью селектора A, будет действовать на всей странице, а стиль второй ссылки (.menu A) применяется только к ссылкам внутри элемента с классом menu. При таком подходе легко управлять стилем одинаковых элементов, вроде изображений и ссылок, оформление которых должно различаться в разных областях веб-страницы.
|