Псевдокласс :first-of-type | WebReference
Псевдокласс :first-of-type задаёт стиль первого элемента определённого типа в группе братских элементов (имеющих одного родителя).
В качестве примера рассмотрим следующий код HTML:
<article> <h2>Роль цитокинов при дорсалгии</h2> <p>Автор: Гордон Фримен, канд. физ.-мат. наук</p> <p>Содержание статьи</p> <address>Почта: [email protected]</address> <p>Опубликовано: <time datetime="2018-11-27">27 ноября 2018</time></p> </article>
Псевдокласс :first-of-type без указания селектора выберет первые элементы каждого типа (<h2>, <p>, <address>, <time>) и установит для них красный цвет текста.
article :first-of-type { color: red; }
При добавлении селектора к :first-of-type сперва выбираются указанные элементы, затем из них берётся первый элемент. Наличие других элементов (<h2> и <address>) и их порядок не учитываются.
article p:first-of-type { color: red; }
Здесь будет выбран первый абзац внутри <article> и выделен красным цветом.
Вместо :first-of-type допустимо использовать :nth-of-type(1).
Синтаксис
Селектор:first-of-type { ... }Синтаксис
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html> <head> <meta charset=»utf-8″> <title>first-of-type</title> <style> table { border-collapse: collapse; /* Убираем двойные границы */ width: 100%; /* Ширина таблицы */ border-spacing: 0; /* Расстояние между ячеек */ } td { border: 1px solid #6A3E14; /* Параметры рамки */ padding: 4px; /* Поля в ячейках */ } tr:first-of-type { background: #808990; /* Цвет фона */ color: #fff; /* Цвет текст */ } td:first-of-type { background: #CFD6D3; /* Цвет фона */ } </style> </head> <body> <table> <tr> <td> </td><td>1998</td><td>1999</td><td>2000</td><td>2001</td> <td>2002</td><td>2003</td> </tr> <tr> <td>Нефть</td> <td>3</td><td>22</td><td>34</td><td>62</td><td>74</td><td>57</td> </tr> <tr> <td>Золото</td> <td>4</td><td>13</td><td>69</td><td>72</td><td>56</td><td>47</td> </tr> <tr> <td>Дерево</td> <td>4</td><td>7</td><td>73</td><td>79</td><td>34</td><td>86</td> </tr> </table> </body> </html>Рис. 1. Результат использования псевдокласса :first-of-type в таблице
Спецификация
Спецификация | Статус |
---|---|
Selectors Level 4 | Рабочий проект |
Selectors Level 3 | Рекомендация |
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
9 | 12 | 1 | 9.5 | 3.2 | 3.5 |
2.1 | 1 | 10 | 3.2 |
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Псевдоклассы
См.
также- :first-child и :last-child
- :first-of-type и :last-of-type
- :nth-last-child() и :nth-last-of-type()
- Псевдокласс :first-child
- Псевдокласс :last-child
- Псевдокласс :last-of-type
Псевдоклассы группы type — CSS — Дока
Кратко
Скопировано
Псевдоклассы -of-type позволяют выбирать из группы элементы одного уровня вложенности на основании их порядка:
:first
— первый;- of - type :nth
— каждый n-й элемент;- of - type ( n - число ) :last
— последний;- of - type :nth
— каждый n-й элемент с отсчётом «с конца».- last - of - type ( n - число )
Пример
Скопировано
Допустим, мы имеем такую HTML-разметку:
<ol> <li>Default означает «по умолчанию», цвет этого пункта без изменений.</li> <li>Амбары красят в красный цвет, потому что красная краска...</li> <li>Говорят, в СССР красили подъезды в зелёный цвет, потому что осталось...</li> <li>В Катаре красят асфальт в синий цвет, чтобы он не перегревался.</li> <li>Газовые трубы красят в жёлтый цвет по ГОСТ 14202-69.</li> <li>Розы красят в синий цвет при помощи пищевых красителей.</li> <li>Чёрный на чёрном не виден.</li></ol>
<ol>
<li>Default означает «по умолчанию», цвет этого пункта без изменений.</li>
<li>Амбары красят в красный цвет, потому что красная краска...</li>
<li>Говорят, в СССР красили подъезды в зелёный цвет, потому что осталось...</li>
<li>В Катаре красят асфальт в синий цвет, чтобы он не перегревался. </li>
<li>Газовые трубы красят в жёлтый цвет по ГОСТ 14202-69.</li>
<li>Розы красят в синий цвет при помощи пищевых красителей.</li>
<li>Чёрный на чёрном не виден.</li>
</ol>
И, допустим, нам нужно задать цвет текста каждого из пунктов, основываясь на их порядке.
Этот пункт не имеет класса, всё, что мы о нём знаем — что он третий <li>
по порядку:
li:nth-of-type(3) { color: #41E847;}
li:nth-of-type(3) {
color: #41E847;
}
2-й, 4-й, 6-й пункты с классом .list
имеют синий цвет, т. е. каждый чётный:
.list__item:nth-of-type(2n) { color: #2E9AFF;}
.list__item:nth-of-type(2n) {
color: #2E9AFF;
}
Нечётные элементы записываются как :nth
.
5-й <li>
(или 3-й . list
) — жёлтый:
li:nth-of-type(5),.list__item:nth-of-type(3) { color: #FFD829;}
li:nth-of-type(5),
.list__item:nth-of-type(3) {
color: #FFD829;
}
Последний пункт должен быть белым (укажем это и для тега, и для класса):
li:nth-last-of-type(1),.list__item:last-of-type { color: #FFFFFF;}
li:nth-last-of-type(1),
.list__item:last-of-type {
color: #FFFFFF;
}
Открыть демо в новой вкладкеЕсли нам нужно выбрать единственный элемент своего родителя, используется псевдокласс :only
(что эквивалентно комбинации
):
Как пишется
Скопировано
💡 Как и у всех псевдоклассов, слева от :
-разделителя можно указать дополнительный селектор, к которому нужно применить правило. Если его не указать, правило будет применено для каждого подходящего элемента.
Для порядковых псевдоклассов (:nth
и :nth
) для обозначения кратности (каждый n-й элемент) используется запись в формате целое число
плюс буква n
, например:
p:nth-of-type(4n) { /* Стили */}
p:nth-of-type(4n) {
/* Стили */
}
Будет выбран каждый 4-й элемент (если таковой будет в общем родителе на одном уровне вложенности).
Для обозначения чётных или нечётных элементов можно использовать числовое выражение.
Выберет все чётные элементы:
p:nth-of-type(2n) { /* Стили */}
p:nth-of-type(2n) {
/* Стили */
}
Выберет все нечётные элементы:
p:nth-of-type(2n + 1) { /* Стили */}
p:nth-of-type(2n + 1) {
/* Стили */
}
Также для обозначения чётных или нечётных элементов можно использовать именованную форму:
Выберет все чётные элементы — то же самое, что p
:
p:nth-of-type(even) { /* Стили */}
p:nth-of-type(even) {
/* Стили */
}
Выберет все нечётные элементы — то же самое, что p
:
p:nth-of-type(odd) { /* Стили */}
p:nth-of-type(odd) {
/* Стили */
}
Аргументы
Скопировано
Для числовых псевдоклассов (:nth
и :nth
) обязательно наличие n-числа в аргументах.
Подсказки
Скопировано
💡 Выбор первого (:first
) или последнего (:last
) элемента «грамматически» эквивалентен числовому формату — :nth
для первого элемента и :nth
для последнего соответственно, но не требует указания числа-аргумента.
💡 Если нужно выбрать такой элемент, который внутри своего родителя только в единственном экземпляре, используйте :only
.
На практике
Скопировано
Realetive советует
Скопировано
🛠 Эти псевдоклассы используются реже, чем Псевдоклассы группы child, но иногда нужно выбрать именно из списка однотипных элементов, а не из всех детей своего родителя.
Селекторы типа, класса и идентификатора — Изучите веб-разработку
- Предыдущий
- Обзор: строительные блоки
- Следующий
В этом уроке мы рассмотрим некоторые из самых простых селекторов, которые вы, вероятно, будете использовать чаще всего в своей работе.
Предпосылки: | Базовая компьютерная грамотность, установлено базовое программное обеспечение, базовые знания работа с файлами, основы HTML (изучение Введение в HTML) и представление о том, как работает CSS (изучите Первые шаги CSS.) |
---|---|
Цель: | Чтобы узнать о различных селекторах CSS, которые мы можем использовать для применения CSS к документ. |
Селектор типа иногда называют селектором имени тега или селектором элемента , поскольку он выбирает тег/элемент HTML в вашем документе. В приведенном ниже примере мы использовали селекторы span
, em
и strong
.
Попробуйте добавить правило CSS, чтобы выбрать элемент и изменить его цвет на синий.
Универсальный селектор обозначен звездочкой ( *
). Он выбирает все в документе (или внутри родительского элемента, если он связан вместе с другим элементом и комбинатором-потомком). В следующем примере мы используем универсальный селектор, чтобы удалить поля для всех элементов. Вместо стиля по умолчанию, добавленного браузером, который разделяет заголовки и абзацы с полями, все расположено близко друг к другу.
Такое поведение иногда можно увидеть при «сбросе таблиц стилей», которые удаляют все стили браузера. Поскольку универсальный селектор вносит глобальные изменения, мы используем его для очень специфических ситуаций, таких как описанная ниже.
Использование универсального селектора для облегчения чтения селекторов
Одно из применений универсального селектора — сделать селекторы более удобными для чтения и более очевидными с точки зрения того, что они делают. Например, если мы хотим выбрать любые элементы-потомки
элементов, которые являются первыми дочерними элементами своего родителя, включая прямые дочерние элементы, и сделать их полужирными, мы могли бы использовать псевдокласс :first-child
. Мы узнаем больше об этом в уроке о псевдоклассах и псевдоэлементах, как о селекторе-потомке вместе с селектором элемента
:
article :first-child { вес шрифта: полужирный; }
Однако этот селектор можно спутать с article:first-child
, который выберет любой элемент
, который является первым дочерним элементом другого элемента.
Чтобы избежать этой путаницы, мы можем добавить универсальный селектор к псевдоклассу :first-child
, чтобы было более очевидно, что делает селектор. Выбирается любой элемент , который является первым дочерним элементом элемента
или первым дочерним элементом любого дочернего элемента
:
article *:first-child { вес шрифта: полужирный; }
Хотя оба делают одно и то же, читабельность значительно улучшается.
Селектор класса начинается с точки ( .
). Он выберет все в документе, к которому применен этот класс. В приведенном ниже живом примере мы создали класс с именем highlight
и применили его к нескольким местам в моем документе. Все элементы, к которым применен класс, подсвечиваются.
Классы таргетинга на определенные элементы
Вы можете создать селектор, который будет нацеливаться на определенные элементы с примененным классом. В следующем примере мы выделим заголовок
с классом highlight
иначе, чем заголовок с классом
highlight
. Мы делаем это, используя селектор типа для элемента, на который мы хотим ориентироваться, с классом, добавленным с помощью точки, без пробела между ними.
Этот подход уменьшает область действия правила. Правило будет применяться только к этой конкретной комбинации элемента и класса. Вам нужно будет добавить еще один селектор, если вы решили, что правило должно применяться и к другим элементам.
Нацелить элемент, если к нему применено более одного класса
Вы можете применить несколько классов к элементу и настроить их по отдельности или выбрать элемент, только когда присутствуют все классы в селекторе. Это может быть полезно при создании компонентов, которые можно по-разному комбинировать на вашем сайте.
В приведенном ниже примере у нас есть Мы можем сказать браузеру, что мы хотим сопоставить элемент только в том случае, если к нему применены два класса, соединив их вместе без пробелов между ними. Вы увидите, что к последнему Селектор ID начинается с Предупреждение: Использование одного и того же идентификатора несколько раз в документе может показаться эффективным для целей стилизации, но не делайте этого. Это приводит к недопустимому коду и вызывает странное поведение во многих местах. Примечание: Как мы узнали из урока о специфичности, идентификатор обладает высокой специфичностью. Он отменит большинство других селекторов. В большинстве случаев предпочтительнее добавлять к элементу класс вместо идентификатора. Однако, если использование идентификатора является единственным способом нацеливания на элемент — возможно, потому, что у вас нет доступа к разметке и вы не можете ее редактировать — это сработает. На этом завершаются селекторы типа, класса и идентификатора. Мы продолжим изучение селекторов, рассматривая селекторы атрибутов. Хотите принять участие? Узнайте, как внести свой вклад. Последний раз эта страница была изменена участниками MDN. Улучшить статью Сохранить статью Улучшить статью Сохранить статью CSS: Каскадная таблица стилей используется для установки стиля веб-страниц, содержащих элементы HTML. Он устанавливает цвет фона, размер шрифта, семейство шрифтов, цвет и т. д. свойства элементов на веб-странице. Существует три типа CSS, которые приведены ниже: Встроенный CSS: Встроенный CSS содержит свойство CSS в разделе body, прикрепленном к элементу, известном как встроенный CSS. Этот тип стиля указывается в теге HTML с помощью атрибута стиля. Пример: Вывод: Внутренний или встроенный CSS: Этот параметр можно использовать, когда один HTML-документ должен быть оформлен уникальным образом. Он определяется в разделе notebox 9.0036 . Если у него также есть класс
предупреждение
или опасность
, мы меняем цвет границы
. опасности
; ему также нужен блокнот
, чтобы что-то применить. #
, а не символ точки, но используется так же, как селектор класса. Однако идентификатор можно использовать только один раз на странице, а к элементам можно применить только одно значение id
. Он может выбрать элемент, для которого установлен идентификатор
, и вы можете указать перед идентификатором селектор типа, чтобы выбрать элемент только в том случае, если и элемент, и идентификатор совпадают. Вы можете увидеть оба этих использования в следующем примере: Обнаружили проблему с содержанием этой страницы?
Типы CSS (каскадных таблиц стилей) Стилизация
html
< 6 html0036
>
<
head
>
<
title
>Inline CSS
title
>
head
>
. 0036 P
Style = "Цвет:#009900; размер шрифта: 50px;
Стиль шрифта: Italic; Text-Align: Center;">
96.1001669.
. 5.10011669666.
.
.
.
P
>
.0036