Конспект «Селекторы. Погружение». Раздел 1
Объединение селекторов
Для того, чтобы выбрать элементы, которые одновременно удовлетворяют сразу нескольким условиям в CSS есть запись, которая фактически выполняет операцию логического умножения, «И». Селекторы, применяемые к одному элементу, в этом случае пишутся без пробелов:
.class1.class2 { }
Стили будут применяться ко всем элементам, которые одновременно имеют класс class1
и class2
. Например:
<div class="class1 class2">Блок с двумя классами</div>
Псевдоклассы
Псевдокласс :not
Псевдокласс :not(селектор)
является отрицающим селектором. С его помощью можно выбрать элементы, которые НЕ содержат указанный селектор:
li:not(:last-child) {
}
Этот селектор выберет все теги <li>
, НЕ являющиеся последними в их родителе.
В качестве селектора могут указываться псевдоклассы, теги, идентификаторы, классы и селекторы атрибутов. Нельзя использовать двойной псевдокласс :not
, то есть конструкция :not(:not(...))
не сработает.
Также в комбинации с :not
не применяются:
- объединение селекторов: например,
li:not(.heart.jack)
— некорректный селектор; - псевдоэлементы:
li:not(::after)
— неправильная запись; - селекторы-потомки, групповые селекторы или комбинации: например, нельзя писать
li:not(a span)
илиli:not(a + span)
.
Селектор :not
можно комбинировать с другими.
Псевдокласс :nth-last-child
Псевдокласс :nth-last-child
используется для добавления стиля к элементам на основе нумерации в дереве элементов. В отличие от псевдокласса :nth-child
, отсчет ведется не от первого элемента, а от последнего.
Псевдоклассы :first-of-type и :last-of-type
Псевдокласс :first-of-type
выбирает первый дочерний элемент родителя с учетом тега элементов.
Псевдокласс :last-of-type
выбирает последний дочерний элемент родителя с учетом тега.
Пример записи:
ul:last-of-type {
...
}
Псевдоклассы :nth-of-type и :nth-last-of-type
Псевдокласс :nth-of-type
работает почти так же, как и :nth-child
. Разница заключается в том, что он учитывает тег элемента. При помощи данного псевдокласса можно выбрать определённый по счёту дочерний элемент определённого типа.
Псевдокласс :nth-last-of-type
также выбирает элементы по их расположению, учитывая их тег, но отсчет ведется от конца.