Мы принимаем к оплате:
«Подарочный сертификат» от нашего Учебного Центра – это лучший подарок для тех, кто Вам дорог! Оплате обучение и подарите Вашим родным и близким обучение по любому из курсов!!!
«Сертификат на повторное обучение» дает возможность повторно пройти обучение в нашем Учебном Центре со скидкой 1000 рублей!
А также:
Дочерние селекторы в css
Селекторы дочерних элементов CSS. Дополнительные псевдоклассы — учебник CSS
Вы дошли до третьей части этой главы. Здесь вы узнаете, как использовать селекторы дочерних элементов в CSS, а также познакомитесь с некоторыми дополнительными псевдоклассами для более точной выборки.
Дочерние селекторы CSS
В предыдущей статье мы рассказывали о родственных связях между элементами HTML-документа, в том числе и о дочерних элементах. Давайте посмотрим на примере, как эти связи можно использовать в CSS.
Представьте, что вам нужно присвоить стиль только тем тегам
, которые являются дочерними по отношению к , не затрагивая остальные
(например,
, дочерние по отношению к ). Как это сделать? Очень просто: создадим дочерний селектор:
body > p { color: #333; }Обратите внимание на символ > после body. С помощью него вы указываете, что стиль применяется исключительно для дочерних тегов
родителя . Если символ убрать, то стиль применится абсолютно ко всем тегам
, которые находятся внутри тега , хотя они могут и не являться для него дочерними.
Дополнительные псевдоклассы
В CSS3 существует ряд псевдоклассов для работы с дочерними элементами. Ниже приведено описание каждого из них, примеры использования, а также отличия между псевдоклассами вида «child» и «of-type».
- :first-child – с помощью этого псевдокласса можно применить стиль к указанному элементу веб-страницы, при условии, что он является первым дочерним элементом своего родителя;
- :last-child – стиль применяется к указанному элементу веб-страницы при условии, что он является последним дочерним элементом своего родителя;
- :nth-child – позволяет выбрать четные (even) и нечетные (odd) дочерние элементы; также с помощью данного псевдокласса можно стилизовать чередующиеся дочерние элементы, используя выражения вида an+b и числа;
- :only-child – применяется к дочернему элементу при условии, что тот является единственным ребенком у родителя;
- :first-of-type – стиль применяется к первому элементу указанного типа (даже если этот элемент не является первым дочерним для своего родителя и над ним находятся другие дочерние элементы других типов);
- :last-of-type – работает точно так же, как и предыдущий псевдокласс, с той лишь разницей, что стиль применяется к последнему элементу указанного типа;
- :nth-of-type – по принципу работы похож на :nth-child, но ориентируется на тип элемента;
- :only-of-type – применяется к дочернему элементу указанного типа при условии, что тот является у родителя единственным ребенком своего типа.
Пример использования :first-child, :last-child и :nth-child
Первый ребенок
Второй ребенок
Третий ребенок
Нечетный номер |
Четный номер |
Нечетный номер |
Четный номер |
Последний ребенок
Стиль CSS:
/* CSS */ p:first-child { font-weight: bold; text-transform: uppercase; } p:last-child { font-style: italic; font-size: 0.8em; } p:nth-child(3) { color: red; } tr:nth-child(odd) { background-color: #A2DED0; } tr:nth-child(even) { background-color: #C8F7C5; } Скриншот: применение :first-child, :last-child и :nth-childМы написали CSS стиль для дочерних элементов простого HTML-документа, где тег является родителем для тегов
,
1 2 3 4 5 6 7 8 9 | Заголовок Первый параграф в div Второй параграф в div Просто полужирный текст в div Первый параграф в body |
Заголовок
Первый параграф в div
Второй параграф в div
Просто полужирный текст в divПервый параграф в body
Родительский элемент – тег, который содержит в себе рассматриваемый элемент.
В примере отношения родитель-ребенок:
- Элемент div (2 строка) — родительский по отношению к тегу h2 (3 строка), тогда как h2 — напротив, дочерний элемент (ребенок)
- Элемент p (4 строка) является родительским по отношению к strong (4 строка), тогда как strong — напротив, дочерний элемент (ребенок)
- Элемент div (2 строка) является родительским по отношению к strong (6 строка), тогда как strong — напротив, дочерний элемент (ребенок)
- Элемент p (8 строка) является родительским по отношению к strong (8 строка), тогда как strong — напротив, дочерний элемент (ребенок)
- Элемент body (1 строка) является родительским по отношению к div (2 строка) и p (8 строка)
Предок – элемент, который располагается на несколько уровней выше и содержит в себе рассматриваемый элемент.
В примере отношение предок-потомок:
- Элемент body является предком для элементов h2(3 строка), p и strong (4 строка), p и strong (5 строка), strong (6 строка) и strong (8 строка); в то время как все, перечисленные элементы являются потомками body
- Элемент div (2 строка) является предком для элементов strong (4 и 5 строка); в то время как strong является потомком для div
Братский элемент (соседний) – элемент, который имеет общий родительский элемент с рассматриваемым.
В примере отношение соседи (братья):
- Элементы h2 (3 строка), p(4 строка), p(5 строка) и strong(6 строка) являются братьями или соседними элементами.
- Элементы div(2 строка) и p(8 строка) являются братьями или соседними элементами.
Правила контекстных селекторов также распространяются и на отношение родитель-ребенок.
Синтаксис:
x y{ свойство1: значение; свойство2: значение; } |
x y{ свойство1: значение; свойство2: значение; }
x — селектор-предок, y — селектор-потомок Правило будет действовать на селектор y
Пример: В hrml-код страницы необходимо добавить правило для контекстных селекторов:
1 2 3 4 5 | Жирное начертание текста Одновременно жирное начертание текста и выделенное цветом |
Жирное начертание текста
Одновременно жирное начертание текста и выделенное цветом
Необходимо: Создать правило контекстных секторов для элемента b
Селектор дочернего элемента CSS
Сущность селектора
Основная задача данного селектора следует из его названия и заключается в обращении к дочернему элементу. Выводится с помощью элементарного знака «>», который связывает дочерний элемент с элементом родителя. Также стоит отметить, что в обращении используется простые селекторы. В качестве примера рассмотрим следующую кодировку:
.element > ul { padding-top: 20px; }Данная кодировка означает, что к списку, который вложен в element, будет применен внутренний отступ в 20 пикселей от верхнего края. Наличие в этой записи значка «>» показывает, что правило применится только к спискам первого уровня вложенности.
Подробный анализ работы селектора дочернего элемента
Селектор элемента дочернего имеет схожие свойства с понятием селектор потомка. Однако существует характерная черта, которая показывает принципиальное отличие данных операций. Оно заключается в том, что влияние селектора потомка распространяется на абсолютно все элементы, в то время как дочерний селектор подчиняет стили позиций первого уровня классификаций.
Более наглядно оценить работу оператора дочернего селектора поможет следующий пример:
CSS
div > р { color: #ff0000; /* красный */ }HTML
Данная строка будет иметь по умолчанию черный текст. Эта строка перекраситься в красный в следствие того, что р является дочерним тегом для дива. Опять видим черные буквы. Здесь мы видим тоже черные символы, так как для этого спана родителем является тег р.Данный пример подтверждает работу оператора дочернего селектора согласно степени вложенности.
Ограничение для применения оператора дочернего селектора
Стоит отметить, что данная операция поддерживается всеми браузерами кроме легендарного Internet Explorer 6. Думаю, мало кто использует данный браузер, однако же если таковые уникумы имеются, то для них существует выход из ситуации, который будет описан в отдельной статье.
Зачем применяется
Программеры обращаются к селекторам элементов дочерних в тех случаях, когда нужно присвоить свой уникальный стиль вложенным элементам. Также использование этого селектора может сократить объем CSS, что повысит читабельность документа. Как показывает практика, к этой операции обращаются чаще всего при создании выпадающих менюшек.
Также селектор элемента дочернего используется для присвоения уникальных стилей элементам, родители которых уже известны за ранее. Другими словами:
.main > header { /* оформление относится только к главному хедеру */ }Данный пример справедлив в тех случаях, когда тег header используют для выделения заголовков статей. В нашем случае мы задаем оформление только основному хедеру, и не задеваем второстепенные. Этот прием также позволяет избегать применения лишнего раза идентификаторов, что в свою очередь облегчает вес CSS-файла и делает его более читабельным.
Подводя итоги
Таким образом, оператор дочернего элемента можно применять не только для оформления выпадающих меню, но и для небольшой оптимизации вашего интернет ресурса к работе поисковых роботов.
Оценок: 1 (средняя 5 из 5)
Понравилась статья? Расскажите о ней друзьям:
Для начинающих
Компьютер для начинающих: Word, Excel, Access и другие программы!
Графические пакеты
Популярные пакеты Adobe Photoshop, CorelDraw, ArchiCAD, AutoCAD и другие!
WEB + анимация
Курсы по созданию сайтов, WEB-дизайну и крутой анимации в Adobe Flash!
Бухгалтерия + делопроизводство
Сетевые технологии
Курсы сборки ПК, системных администраторов и защиты информации!