Содержание:
Три вида взаимоотношений в дереве элементов
- Предки-потомки;
- Родитель-ребенок;
- Братья (соседи)
Рассмотри дерево элементов на примере:
1 2 3 4 5 6 7 8 9 | <body> <div> <h1>Заголовок</h1> <p><strong>Первый</strong> параграф в div</p> <p><strong>Второй</strong> параграф в div</p> <strong>Просто полужирный текст в div</strong> </div> <p><strong>Первый</strong> параграф в body</p> </body> |
Родительский элемент – тег, который содержит в себе рассматриваемый элемент.
В примере отношения родитель-ребенок:
- Элемент
div
(2 строка) — родительский по отношению к тегуh1
(3 строка), тогда какh1
— напротив, дочерний элемент (ребенок) - Элемент
p
(4 строка) является родительским по отношению кstrong
(4 строка), тогда какstrong
— напротив, дочерний элемент (ребенок) - Элемент
div
(2 строка) является родительским по отношению кstrong
(6 строка), тогда какstrong
— напротив, дочерний элемент (ребенок) - Элемент
p
(8 строка) является родительским по отношению кstrong
(8 строка), тогда какstrong
— напротив, дочерний элемент (ребенок) - Элемент
body
(1 строка) является родительским по отношению кdiv
(2 строка) иp
(8 строка)
Предок – элемент, который располагается на несколько уровней выше и содержит в себе рассматриваемый элемент.
В примере отношение предок-потомок:
- Элемент
body
является предком для элементовh1
(3 строка),p
иstrong
(4 строка),p
иstrong
(5 строка),strong
(6 строка) иstrong
(8 строка); в то время как все, перечисленные элементы являются потомкамиbody
- Элемент
div
(2 строка) является предком для элементовstrong
(4 и 5 строка); в то время какstrong
является потомком дляdiv
Братский элемент (соседний) – элемент, который имеет общий родительский элемент с рассматриваемым.
В примере отношение соседи (братья):
- Элементы
h1
(3 строка),p
(4 строка),p
(5 строка) иstrong
(6 строка) являются братьями или соседними элементами. - Элементы
div
(2 строка) иp
(8 строка) являются братьями или соседними элементами.
Контекстные селекторы CSS (предки-потомки)
Правила контекстных селекторов также распространяются и на отношение родитель-ребенок.
Синтаксис:
x y{ свойство1: значение; свойство2: значение; }
x
— селектор-предок,y
— селектор-потомок
Правило будет действовать на селекторy
1 2 3 4 5 | <body> <p><b>Жирное начертание текста</b></p> <p><i><b>Одновременно жирное начертание текста и выделенное цветом</b></i></p> </body> |
Необходимо: Создать правило контекстных секторов для элемента b
Выполнение:
<style type="text/css"> p b{ font-family: Times, serif; /* Семейство шрифта */ font-weight: bold; /* Жирное начертание */ color: navy; /* Синий цвет текста */ } </style> |
Результат:
В примере отношение предок-потомок характерно для элементов p
и b
в третьей строке. Но контекстные селекторы распространяются и на отношения родитель-ребенок, т.е. в примере — элементы p
и b
во второй строке.
Рассмотрим еще примеры, иллюстрирующие использование контекстных селекторов:
Соседние селекторы CSS (братья)
Синтаксис:
x + y{ свойство1: значение; свойство2: значение; }Стиль применяется для соседнего селектора
y
<p><b>Студенты</b> - это <i>всезнающий</i> народ.</p> |
Необходимо: Создать правило для соседнего селектора i
Выполнение:
b + i{ color: red; } |
Результат:
В примере теги i
и b
не перекрываются между собой другими элементами и поэтому представляют собой соседние селекторы. То, что они расположены внутри элемента p
, никак не влияет на их отношение.
Дочерние селекторы в CSS (селектор родитель-ребенок)
Синтаксис:
x > y{ свойство1: значение; свойство2: значение; }Здесь
x
— родитель,y
— ребенок
Правило будет действовать на дочерний селекторy
1 2 3 | <div><i>Кто на горе</i>, тот раньше солнце встретит. </div> <div><p><i>Кто средь друзей</i>, тот силой не шути.</p> </div> |
Необходимо: создать правило для дочернего селектора i
(1 строка)
Выполнение:
div > i{ color: red; } |
Результат:
В третьей строке примера тег i
не является дочерним для тега div
, так как они перекрываются тегом p
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <html> <head> <style type="text/css"> ... </style> </head> <body> <h1 id="header1"><i>Стихотворение</i> <u>2013 год</u></h1> <h2>I</h2> <p>В земные страсти вовлеченный, я знаю, что из тьмы на свет однажды выйдет ангел черный и крикнет, что спасенья нет. </p> <h2>II</h2> <p>Но простодушный и несмелый, прекрасный, как благая весть, идущий следом ангел белый прошепчет, что надежда есть.</p> <p class="end">Конец</p> <h1>Продолжение следует</h1> </body> </html> |
Используйте CSS-свойства для оформления текста и для форматирования шрифта.