Содержание:
Селекторы
Селектор это часть CSS-правила, которая определяет элемент или элементы, к которым будет применён блок объявлений (стиль), содержащий форматирующие свойства.
Любой селектор может состоять более чем из одного простого селектора. К простым селекторам относятся:
- селектор типа
- универсальный селектор
- селекторы атрибутов
- селектор идентификатора
- селектор класса
- псевдо-классы
| Селектор | Пример | Описание | CSS |
|---|---|---|---|
| .class | .myclass | Выбор всех элементов с class=”myclass”. | 1 |
| #id | #main | Выбор элемента с id=”main”. | 1 |
| * | * | Выбор всех элементов. | 2 |
| элемент | span | Выбор всех элементов <span>. | 1 |
| элемент,элемент | div,span | Выбор всех элементов <div> и всех элементов <span>. | 1 |
| [атрибут] | [title] | Выбор элементов с атрибутом “title”. | 2 |
| [атрибут=значение] | [title=cost] | Выбор всех элементов с title=”cost”. | 2 |
| [атрибут~=значение] | [title~=cost] | Выбор элементов с атрибутом title, содержащим слово cost. | 2 |
| [атрибут|=значение] | [lang|=ru] | Выбор всех элементов с атрибутом lang, значение которого начинается с “ru”. | 2 |
| [атрибут^=значение] | a[src^=”https”] | Выбор каждого элемента <a> с атрибутом src, значение которого начинается с “https”. | 3 |
| [атрибут$=значение] | a[src$=”.png”] | Выбор каждого элемента <a> с атрибутом src, значение которого заканчивается на “.png”. | 3 |
| [атрибут*=значение] | a[src*=”estydiz”] | Выбор каждого элемента <a> с атрибутом src, в значении которого есть “estydiz”. | 3 |
Комбинаторы
Для объединения простых селекторов, используются комбинаторы, которые указывают взаимосвязь между простыми селекторами. Существует несколько различных комбинаторов в CSS2, и один дополнительный в CSS3, когда вы их используете, они меняют характер самого селектора.
| Комбинатор | Пример | Описание | CSS |
|---|---|---|---|
| элемент элемент | div span | Выбор всех элементов <span> внутри <div>. | 1 |
| элемент>элемент | div>span | Выбор всех элементов <span>, у которых родитель <div>. | 2 |
| элемент+элемент | div+p | Выбор элемента <p>, который размещается сразу же после элементов <div>. | 2 |
| элемент1~элемент2 | p~ol | Выбор всех элементов <ol>, которым предшествует элемент <p>. | 3 |
Псевдо-классы
Псевдо-класс похож на обычный класс в HTML, за исключением того, что он явно не указывается в разметке HTML-документа. Некоторые псевдо-классы динамичны – они применяются в результате взаимодействия пользователя с документом, например при наведении курсора мыши на ссылку. Любые псевдо-классы начинаются с двоеточия “:”.
| Псевдо-класс | Пример | Описание | CSS |
|---|---|---|---|
| :link | a:link | Выбор всех не посещенных ссылок. | 1 |
| :visited | a:visited | Выбор всех посещенных ссылок. | 1 |
| :active | a:active | Выбор активной ссылки. | 1 |
| :hover | a:hover | Выбор ссылки при наведении курсора мышки. | 1 |
| :focus | input:focus | Выбор элемента input, который находится в фокусе. | 2 |
| :first-child | p:first-child | Выбор каждого элемента <p>, который является первым дочерним элементом своего родителя. | 2 |
| :last-child | p:last-child | Выбор каждого элемента <p>, который является последним элементом своего родительского элемента. | 3 |
| :lang(язык) | p:lang(ru) | Выбор каждого элемента <p> с атрибутом lang, значение которого начинается с “ru”. | 2 |
| :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 |
| :root | :root | Выбор корневого элемента в документе. | 3 |
| :empty | p:empty | Выбор каждого элемента <p>, который не содержит дочерних элементов (включая текст). | 3 |
| :target | :target | Выбор активного элемента на странице, который имеет якорную ссылку. | 3 |
| :enabled | input:enabled | Выбор каждого включенного элемента <input>. | 3 |
| :disabled | input:disabled | Выбор каждого выключенного элемента <input>. | 3 |
| :checked | input:checked | Выбор элемента <input>, выбранного по умолчанию или пользователем. | 3 |
| :not(селектор) | :not(p) | Выбор всех элементов, кроме элемента <p>. | 3 |
Псевдо-элементы
Псевдо-элементы – это виртуальные элементы, которые не существует в явном виде в дереве документа. Псевдо-элементы могут быть динамическими, поскольку виртуальные элементы могут изменяться, например, когда ширина окна браузера изменяется. Они также могут представлять содержимое, создаваемое с помощью правил CSS. Любые псевдо-элементы начинаются с двойного двоеточия :: /* CSS3 syntax */ или с одинарного : /* CSS2 syntax (only old browsers) */
| Псевдо-элемент | Пример | Описание | CSS |
|---|---|---|---|
| ::first-letter | p::first-letter | Выбор первой буквы каждого элемента <p>. | 3 |
| ::first-line | p::first-line | Выбор первой строки каждого элемента <p>. | 3 |
| ::before | p::before | Вставка содержимого перед каждым элементом <p>. | 3 |
| ::after | p::after | Вставка содержимого после каждого элемента <p>. | 3 |
| Псевдо-элемент | Пример | Описание | CSS |
|---|---|---|---|
| :first-letter | p:first-letter | Выбор первой буквы каждого элемента <p>. | 2 |
| :first-line | p:first-line | Выбор первой строки каждого элемента <p>. | 2 |
| :before | p:before | Вставка содержимого перед каждым элементом <p>. | 2 |
| :after | p:after | Вставка содержимого после каждого элемента <p>. | 2 |

