Type css: Атрибут type | htmlbook.ru

Псевдокласс :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>&nbsp;</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.

Рис. 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
19.53.23.5
2.11103.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-of-type(n-число) — каждый n-й элемент;
  • :last-of-type — последний;
  • :nth-last-of-type(n-число) — каждый 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__item имеют синий цвет, т. е. каждый чётный:

.list__item:nth-of-type(2n) {  color: #2E9AFF;}
          .list__item:nth-of-type(2n) {
  color: #2E9AFF;
}

Нечётные элементы записываются как :nth-of-type(2n+1)

.

5-й <li> (или 3-й . list__item) — жёлтый:

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-of-type (что эквивалентно комбинации

:first-of-type:last-of-type):

Открыть демо в новой вкладке

Как пишется

Скопировано

💡 Как и у всех псевдоклассов, слева от :-разделителя можно указать дополнительный селектор, к которому нужно применить правило. Если его не указать, правило будет применено для каждого подходящего элемента.

Для порядковых псевдоклассов (:nth-of-type(n-число) и :nth-last-of-type(n-число)) для обозначения кратности (каждый 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:nth-of-type(2n):

p:nth-of-type(even) {  /* Стили */}
          p:nth-of-type(even) {
  /* Стили */
}

Выберет все нечётные элементы — то же самое, что p:nth-of-type(2n+1):

p:nth-of-type(odd) {  /* Стили */}
          p:nth-of-type(odd) {
  /* Стили */
}

Аргументы

Скопировано

Для числовых псевдоклассов (:nth-of-type(n) и :nth-last-of-type(n)) обязательно наличие n-числа в аргументах.

Подсказки

Скопировано

💡 Выбор первого (:first-of-type) или последнего (:last-of-type) элемента «грамматически» эквивалентен числовому формату — :nth-of-type(1) для первого элемента и :nth-last-of-type(1) для последнего соответственно, но не требует указания числа-аргумента.

💡 Если нужно выбрать такой элемент, который внутри своего родителя только в единственном экземпляре, используйте :only-of-type.

На практике

Скопировано

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 . Мы делаем это, используя селектор типа для элемента, на который мы хотим ориентироваться, с классом, добавленным с помощью точки, без пробела между ними.

Этот подход уменьшает область действия правила. Правило будет применяться только к этой конкретной комбинации элемента и класса. Вам нужно будет добавить еще один селектор, если вы решили, что правило должно применяться и к другим элементам.

Нацелить элемент, если к нему применено более одного класса

Вы можете применить несколько классов к элементу и настроить их по отдельности или выбрать элемент, только когда присутствуют все классы в селекторе. Это может быть полезно при создании компонентов, которые можно по-разному комбинировать на вашем сайте.

В приведенном ниже примере у нас есть

, который содержит примечание. Серая рамка применяется, когда ящик имеет класс notebox 9.0036 . Если у него также есть класс предупреждение или опасность , мы меняем цвет границы .

Мы можем сказать браузеру, что мы хотим сопоставить элемент только в том случае, если к нему применены два класса, соединив их вместе без пробелов между ними. Вы увидите, что к последнему

не применяются никакие стили, так как он имеет только класс опасности ; ему также нужен блокнот , чтобы что-то применить.

Селектор ID начинается с # , а не символ точки, но используется так же, как селектор класса. Однако идентификатор можно использовать только один раз на странице, а к элементам можно применить только одно значение id . Он может выбрать элемент, для которого установлен идентификатор , и вы можете указать перед идентификатором селектор типа, чтобы выбрать элемент только в том случае, если и элемент, и идентификатор совпадают. Вы можете увидеть оба этих использования в следующем примере:

Предупреждение: Использование одного и того же идентификатора несколько раз в документе может показаться эффективным для целей стилизации, но не делайте этого. Это приводит к недопустимому коду и вызывает странное поведение во многих местах.

Примечание: Как мы узнали из урока о специфичности, идентификатор обладает высокой специфичностью. Он отменит большинство других селекторов. В большинстве случаев предпочтительнее добавлять к элементу класс вместо идентификатора. Однако, если использование идентификатора является единственным способом нацеливания на элемент — возможно, потому, что у вас нет доступа к разметке и вы не можете ее редактировать — это сработает.

На этом завершаются селекторы типа, класса и идентификатора. Мы продолжим изучение селекторов, рассматривая селекторы атрибутов.

  • Предыдущий
  • Обзор: строительные блоки
  • Следующий

Обнаружили проблему с содержанием этой страницы?

  • Отредактируйте страницу на GitHub.
  • Сообщить о проблеме с содержимым.
  • Посмотреть исходный код на GitHub.

Хотите принять участие?

Узнайте, как внести свой вклад.

Последний раз эта страница была изменена участниками MDN.

Типы CSS (каскадных таблиц стилей) Стилизация

Улучшить статью

Сохранить статью

  • Уровень сложности: Easy
  • Последнее обновление: 01 мар, 2023

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    CSS: Каскадная таблица стилей используется для установки стиля веб-страниц, содержащих элементы HTML. Он устанавливает цвет фона, размер шрифта, семейство шрифтов, цвет и т. д. свойства элементов на веб-странице.

    Существует три типа CSS, которые приведены ниже: 

    • Встроенный CSS
    • Внутренний или встроенный CSS
    • Внешний CSS

    Встроенный CSS: Встроенный CSS содержит свойство CSS в разделе body, прикрепленном к элементу, известном как встроенный CSS. Этот тип стиля указывается в теге HTML с помощью атрибута стиля.

    Пример:   

    html

    < 6 html0036 >

         < head >

             < title >Inline CSS title >

         head >

    . 0036 P Style = "Цвет:#009900; размер шрифта: 50px;

    Стиль шрифта: Italic; Text-Align: Center;">

    96.1001669. . 5.10011669666. . . . P >

    .0036

    Вывод:  
     

    Внутренний или встроенный CSS: Этот параметр можно использовать, когда один HTML-документ должен быть оформлен уникальным образом. Он определяется в разделе HTML-страницы внутри тега