CSS Селекторы
CSS (Cascading Style Sheets) предоставляет множество селекторов для выбора HTML-элементов, к которым нужно применить стили.
CSS-селекторы — это шаблоны, используемые для выбора элементов, которые вы хотите стилизовать.
Столбец "CSS" в таблице ниже указывает версию CSS, в которой определено свойство. CSS1, CSS2 и CSS3 — это разные версии Cascading Style Sheets, каждая из которых добавляет новые функции и возможности для улучшения управления и оформления стилей веб-страниц.
Распространённые селекторы CSS
Ниже приведены некоторые распространённые селекторы CSS:
Селектор элемента:Выбирает HTML-элементы по имени элемента.
Следующий код,pСелектор выберет все<p>Элемент:
p {
color: blue;
}
Селектор класса:Выбирает HTML-элементы с определённым классом по имени класса.
Селекторы класса начинаются с.начиная с, за которым следует имя класса.
Следующий код,.highlightСелектор выберет все элементы с классом"highlight"элементы.
.highlight {
background-color: yellow;
}
Селектор ID:Выбирает HTML-элементы по уникальному идентификатору элемента (ID).
Селекторы ID начинаются с#начиная с, за которым следует имя ID.
Следующий код,#exampleСелектор выберет элементы с ID"example"элементы.
#example {
width: 200px;
}
Селектор атрибута:Выбирает HTML-элементы по атрибутам элемента. Селекторы атрибутов могут выбирать на основе имён атрибутов и значений атрибутов.
Следующий код,input[type="text"]Селектор выберет всеtypeСвойство имеет значение"text"элемент <input>.
input[type="text"] {
border: 1px solid gray;
}Селектор потомков:Выбирает HTML-элементы, задавая отношение потомка между элементами.
Селектор потомков использует пробелы для разделения имён элементов.
В следующем коде селектор div p выберет все элементы <p> внутри элементов <div>.
div p {
font-weight: bold;
}Дополнительные селекторы см. в следующей таблице:
| Селекторы | Пример | Пояснение примера | CSS |
|---|---|---|---|
| .класс | .intro | Выбирает все элементы с class="intro" | 1 |
| #id | #firstname | Выбирает все элементы с id="firstname" | 1 |
| * | * | Выбрать все элементы | 2 |
| элемент | p | Выбирает все элементы <p> | 1 |
| element,element | div,p | Выбирает все элементы <div> и элементы <p> | 1 |
| element.class | p.hometown | Выбирает все элементы <p> с class="hometown" | 1 |
| element element | div p | Выбирает все элементы <p> внутри элементов <div> | 1 |
| element>element | div>p | Выбирает все элементы <p>, родительским элементом которых является элемент <div> | 2 |
| element+element | div+p | Выбирает первый элемент <p>, непосредственно следующий за элементом <div> | 2 |
| [атрибут] | [target] | Выбирает все элементы с атрибутом target | 2 |
| [attribute=value] | [target=-blank] | Выбирает все элементы, использующие target="-blank" | 2 |
| [attribute~=value] | [title~=flower] | Выбирает все элементы, атрибут title которых содержит слово "flower" | 2 |
| [attribute|=language] | [lang|=en] | Выбирает элементы, у которых атрибут lang равенen, или сen-всеми элементами, начинающимися с | 2 |
| :link | a:link | Выбирает все непосещённые ссылки | 1 |
| :visited | a:visited | Выбирает все посещённые ссылки | 1 |
| :active | a:active | Выбирает активные ссылки | 1 |
| :hover | a:hover | Выбирает, когда мышь находится над ссылкой | 1 |
| :focus | input:focus | Выбирает элементы input, которые находятся в фокусе | 2 |
| :first-letter | p:first-letter | Выбирает первую букву каждого элемента <p> | 1 |
| :first-line | p:first-line | Выбирает первую строку каждого элемента <p> | 1 |
| :first-child | p:first-child | Задаёт стиль только тогда, когда элемент <p> является первым дочерним элементом своего родителя. | 2 |
| :before | p:before | Вставляет содержимое перед каждым элементом <p> | 2 |
| :after | p:after | Вставляет содержимое после каждого элемента <p> | 2 |
| :lang(язык) | p:lang(it) | Выбирает все элементы <p>, у которых атрибут lang имеет начальное значение "it" | 2 |
| element1~element2 | p~ul | Выбирает каждый элемент <ul>, следующий за элементом <p> | 3 |
| [attribute^=value] | a[src^="https"] | Выбирает каждый элемент, значение атрибута src которого начинается с "https" | 3 |
| [attribute$=value] | a[src$=".pdf"] | Выбирает каждый элемент, значение атрибута src которого заканчивается на ".pdf" | 3 |
| [attribute*=value] | a[src*="example"] | Выбирает каждый элемент, значение атрибута src которого содержит подстроку "example" | 3 |
| :first-of-type | p:first-of-type | Выбирает каждый элемент <p>, который является первым элементом <p> своего родителя | 3 |
| :last-of-type | p:last-of-type | Выбирает каждый элемент <p>, который является последним элементом <p> своего родителя | 3 |
| :only-of-type | p:only-of-type | Выбирает каждый элемент <p>, который является единственным элементом <p> своего родителя | 3 |
| :only-child | p:only-child | Выбирает каждый элемент <p>, который является единственным дочерним элементом своего родителя | 3 |
| :nth-child(n) | p:nth-child(2) | Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя | 3 |
| :nth-last-child(n) | p:nth-last-child(2) | Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя, считая от последнего дочернего элемента | 3 |
| :nth-of-type(n) | p:nth-of-type(2) | Выбирает каждый элемент <p>, который является вторым элементом <p> своего родителя | 3 |
| :nth-last-of-type(n) | p:nth-last-of-type(2) | Выбирает каждый элемент <p>, который является вторым элементом <p> своего родителя, считая от последнего дочернего элемента | 3 |
| :last-child | p:last-child | Выбирает каждый элемент <p>, который является последним дочерним элементом своего родителя. | 3 |
| :root | :root | Выбирает корневой элемент документа | 3 |
| :empty | p:empty | Выбирает каждый элемент <p>, у которого нет дочерних элементов (включая текстовые узлы) | 3 |
| :target | #news:target | Выбирает текущий активный элемент #news (URL, по которому щелкнули, содержащий это имя якоря) | 3 |
| :enabled | input:enabled | Выбирает каждый включенный элемент input | 3 |
| :disabled | input:disabled | Выбирает каждый отключённый элемент input | 3 |
| :checked | input:checked | Выбирает каждый отмеченный элемент input | 3 |
| :not(селектор) | :not(p) | Выбирает каждый элемент, который не является элементом <p> | 3 |
| ::selection | ::selection | Соответствует части элемента, которая выбрана или подсвечена пользователем | 3 |
| :out-of-range | :out-of-range | Соответствует элементам input, значение которых находится вне указанного диапазона | 3 |
| :in-range | :in-range | Соответствует элементам input, значение которых находится в пределах указанного диапазона | 3 |
| :read-write | :read-write | Используется для сопоставления читаемых и записываемых элементов | 3 |
| :read-only | :read-only | Используется для сопоставления элементов с установленным атрибутом "readonly" | 3 |
| :optional | :optional | Используется для сопоставления необязательных элементов input | 3 |
| :required | :required | Используется для сопоставления элементов с установленным атрибутом "required" | 3 |
| :valid | :valid | Используется для сопоставления элементов с допустимыми входными значениями | 3 |
| :invalid | :invalid | Используется для сопоставления элементов с недопустимыми входными значениями | 3 |
| :has | :has | Позволяет выбирать элемент на основе его элементов-потомков. | 3 |
| :is | :is | Принимает любое количество селекторов в качестве параметров и возвращает объединение элементов, соответствующих этим селекторам. | 3 |