| Тип | Описание | Примеры | |
|---|---|---|---|
| 1. Инлайновые стили | Самые приоритетные |
<p style="color: red;">...</p>
|
|
2. Внутри тега <style> |
2 место |
<style>
|
|
| 3. Через id | 3 место |
<p id="name">...</p>
|
|
| 4. Через классы | 4 место |
<p class="name">...</p>
|
|
| 5. Cелекторы тегов | 5 место |
<p>123</p>
|
|
| 6. Порядок в коде |
6 место При равной специфичности играет роль порядок в коде, чем ниже, тем приоритетнее |
<p>123</p>
|
|
| Комбинации | a (инлайн стили) | b (id) | c (class) | d (теги) | Результат |
|---|---|---|---|---|---|
| div | 0 | 0 | 0 | 1 | 000(1) |
| ul .class | 0 | 0 | 1 | 1 | 00(11) |
| #catalog .class | 0 | 1 | 1 | 0 | 0(110) |
| <span style="color:red;"> | 1 | 0 | 0 | 0 | (1000) |
line-height;color;font-size, font-family, font-style, font-weight;text-transform, text-align, text-indent;letter-spacing, white-space, word-spacing, direction;list-style, visibilyty, cursor, border-collapse;initial - по умолчаниюunset - если наследуется, то как у родителя, если нет - то initialinherit - принудительно наследовать у родителяbackground;position;height, width;margin, padding;КЛАССЫ и ID не могут начинаться с цифры!!! ID только один на странице!!!
| Тип | Описание | Примеры | |
|---|---|---|---|
| p (название тега) | ТЕГОВЫЙ селектор |
p {color: red;}
|
У всех параграфов текст станет красным |
| .name (с точкой) | КЛАССОВЫЙ селектор |
<p class="name">...</p>
|
У ВСЕХ ТЕГОВ c классом name текст станет красным |
| #name (с "#") | id-селектор |
<p id="name">...</p>
|
У ВСЕХ ТЕГОВ c id name текст станет красным |
| p a (через пробел) |
ВЛОЖЕННЫЙ селектор КАСКАД, ПРОСТРОНСТВО ИМЁН |
<p> ... <i><a></i> ... </p>
|
Все ссылки внутри параграфов станут красными, даже если они вложены в другие теги |
| p + a (через "+") | СОСЕДНИЙ селектор |
<p> ... </p>
|
Все ссылки после параграфов станут красными |
| p > a (через ">") | ДОЧЕРНИЙ селектор |
<p> ... <a> ... </p>
|
Все ссылки после параграфов станут красными, только если они являются ДОЧЕРНИМИ, в отличие от ВЛОЖЕННЫХ селекторов |
|
.class1.class2 (без пробела) |
ОБЪЕДИНЁННЫЙ селектор |
<div class="class1 class2"></div>
|
Сработает для тегов, имеющих одновременно и class1 и class2 |
|
.class1, .class2, class3 (через запятую) |
ГРУППОВОЙ селектор |
<div class="class1"></div>
|
Сработает для всех перечисленных классов class1, class2, class3 |
|
* {color: red;} (через *) |
ОБЩИЙ селектор |
* {color: red;}
|
Сработает для всех тегов и классов |
|
.class1 * {color: red;} |
ОБЩИЙ селектор для потомков класса |
.class1 * {color: red;}
|
Сработает для всех тегов и классов внутри класса class1 |
|
.class1 *:псевдо-класс{color: red;} |
Сочетания * с псевдо-классами |
.left-column *:first-child * {margin:0;}
|
Сработает для всех дочерних первых элементов класса left-column |
| ИЗБИРАТЕЛЬНЫЕ селекторы | |||
|
input[type="password"] (через [...] скобки) |
Селектор АТРИБУТОВ |
<label for="password-id">Поле ввода пароля: </label>
|
Выберет все инпуты с типом password |
|
div[class^="column-"] (через "^") |
Селектор по началу названия атрибута |
<div class="column-1"> </div>
|
Выберет все теги div, у которых название класса начинается с подстроки "column-" |
|
a[href$=".pdf"] (через "$") |
Селектор по концу названия атрибута |
<a href="doc1.pdf"> </a>
|
Выберет все ссылки, адреса кот. заканчиваются на ".pdf" |
|
div[class*="column"] (через "*") |
Селектор фразы атрибута |
<div class="column-1"> </div>
|
Выберет все теги div, у которых в названии класса есть слово "column" в любом месте |
|
div[class~="column"] (через "~") |
Селектор по части названия атрибута |
<div class="column"> </div>
|
Выберет все теги div, у которых один из классов "column" |
|
div[class|="column"] (через "|") |
Селектор совпадению атрибута |
<div class="column"> </div>
|
Выберет все теги div, у которых название одного из классов "column" или начинается с "column-" |
| Тип | Описание | Примеры | |
|---|---|---|---|
| ::before | Добавляет контент ДО ... |
<span>Some text<span>
|
beforeSome text |
| ::after | Добавляет контент ПОСЛЕ ... |
<span>Some text<span>
|
Some textafter |
| ::selection |
ВЫДЕЛЯЮЩИЙ селектор Выделение текста курсором мыши (работает не везде, выручают префиксы) |
<span>Some text<span>
|
Some text |
| :first-child | Первый потомок |
<ul>
|
Первый элемент списка станет красным |
| :last-child | Последний потомок |
<ul>
|
Последний элемент списка станет красным |
| :nth-child(...) | Номер потомка |
<ul>
|
Третий элемент списка станет красным (odd) - нечётные; (even) - чётные; (2n) - каждый 2-ой; (1n + 6) - все элементы, начиная с 6-ого; (2n + 6) - каждый 2-й, начиная с 6-ого; (3n + 9) - каждый 3-й, начиная с 9-ого; |
| :not(...) | ОТРИЦАЮЩИЙ селектор |
<ul>
|
Все элементы кроме последнего станут красными Нельзя сочетать в селекторе несколько :not |
| :empty | "ПУСТОЙ" селектор |
<ul>
|
Все пустые элементы списка станут красными |
| ::first-line | Cелектор ПЕРВОЙ ЛИНИИ |
<p>
|
Первая строка параграфа станет красной |
| ::first-letter | Cелектор ПЕРВОЙ БУКВЫ |
<span>Some text </span>
|
Первая буква спана станет красной. Если стоят точки или символы перед первой буквой, то они вместе с буквой станут тоже красными |
| :only-child | Cелектор ЕДИНСТВЕННОГО ДОЧЕРНЕГО ЭЛЕМЕНТА |
<ul>
|
Выберет все элементы списка, если они являются единственными дочерними элементами |
| :nth-last-child(...) | Cелектор ДОЧЕРНЕГО ЭЛЕМЕНТА ПО НОМЕРУ С КОНЦА |
<ul>
|
Выберет дочерний элемент списка второй с конца |
| :first-of-type | Cелектор ПЕРВОГО ТИПА |
<ul>
|
Выберет первый список в коде |
| :last-of-type | Cелектор ПОСЛЕДНЕГО ТИПА |
<ul>
|
Выберет последний список в коде |
| :nth-of-type(...) | Cелектор n-ОГО ТИПА |
<ul>
|
Выберет 3-й список в коде |
| :nth-last-of-type(...) | Cелектор n-ОГО ТИПА С КОНЦА |
<ul>
|
Выберет 2-й список в коде с конца |
| :only-of-type | Cелектор ЕДИНСТВЕННОГО ТИПА |
<ul>
|
Выберет список, если он является единственным в своём родителе |
| для ССЫЛОК | |||
| :link | Выбирает непосещенные ссылки Порядок в коде: :link :visited :hover :active |
<a class="some-link">
|
Some link |
| :visited | Выбирает посещенные ссылки |
<a class="some-link">
|
Some link |
| :hover | Работает при наведении курсора |
<a class="some-link">
|
Some link |
| :active | Работает при нажатии кнопки мыши |
<a class="some-link2">
|
Some link |
| :target | Для якорных объектов, через id |
h2:target { color: red; }
|
Если заголовок h2 будет якорем для какой-либо ссылки, то по клику на связанную якорную ссылку, он поменяет цвет |
| для ФОРМ | |||
:focus Работает не только с формами, может работать с ссылками, каторые также "табируются" |
Работает для элемента, находящегося в фокусе (курсор в текстовом поле) |
<label for="text-id">Текстовое поле: </label>
|
|
| :enabled | Работает для форм и элементов форм, у кот. НЕ СТОИТ атрибут disabled |
<label for="year-id">Год рождения:</label>
|
|
| :read-only | Работает для форм и элементов форм, у кот. стоит атрибут read-only |
Аналог: input[readonly]
|
Работает не во всех браузерах |
| :read-write | Работает для форм и элементов форм, кот. доступных для редактирования |
Аналог: input:not([readonly])
|
|
| :required | Выбирает формы С атрибутом обязательного заполнения |
Аналог: input[required]
|
|
| :optional | Выбирает формы БЕЗ атрибута обязательного заполнения, обратный :required |
Аналог: input:not([required])
|
|
| :checked | Выбирает формы c атрибутом checked |
Аналог: input[checked]
|
Работает с инпутами radio и checkbox |
| :valid | Выбирает элементы с КОРРЕКТНЫМ введённым значением |
<label for="first-name-id">Введите код: </label>
<input type="text" name="first-name" id="first-name-id" pattern="[0-9]{3}\s[0-9]{3}" placeholder="XXX_XXX">
|
Корректность ввдённых данных должна быть указана в атрибуте pattern |
| :invalid | Выбирает элементы с НЕКОРРЕКТНЫМ введённым значением |
#first-name-id:invalid {color: red; font-weight: bold;}
|
|
| :in-range | Выбирает элементы, значение кот. ПОПАДАЕТ в указанный диапозон |
|
Работает с type="mumber" min="..." max="..." |
| :out-of-range | Выбирает элементы, значение кот. НЕ ПОПАДАЕТ в указанный диапозон |
|
|
| ::placeholder |
Стилизация placeholder в состоянии ПОКОЯ Стилизация placeholder в состоянии ВВОДА |
#input-id::placeholder {...}
|
jquery-плагин maskedInput $(".inputTel").mask("+7 (999)-999-99-99",{placeholder:"_"}); |