Выйдите за рамки базового CSS: 7 селекторов для оптимизации вашего кода

CSS незаменим, когда мы говорим о веб-дизайне и разработке. Базовые селекторы, такие как classes (.) и IDs (#), могут быть вам знакомы, но некоторые расширенные селекторы могут сделать ваш код эффективным и элегантным. Давайте рассмотрим семь из этих менее известных, но невероятно мощных селекторов.

1. Выбор дочернего элемента (>>)

parent > child

Этот селектор нацелен на прямые дочерние элементы указанного родителя, игнорируя более глубоко вложенные элементы.

ul > li { 
    color: blue; 
}

При этом будут стилизованы только прямые дочерние элементы li из ul, оставляя вложенные элементы li незатронутыми. Идеально подходит для тех случаев, когда вам нужна точность и вы хотите, чтобы стили не были случайно каскадированы на вложенные элементы. Все современные браузеры, включая IE7, поддерживают эту функцию.

2. Селектор соседнего одноуровневого элемента (+)

element1 + element2

Если вам когда-либо приходилось нацеливаться на элемент, следующий сразу за другим, вам подойдет Adjacent Sibling Selector (+).

h2 + p {
    margin-top: 10px;
}

Это обеспечивает верхнее поле в 10 пикселей для любого абзаца, следующего сразу за h2. Особенно удобно для управления интервалами после определенных элементов.

3. Селектор атрибутов ([attr=значение])

element[attr=value]

Сопоставляет элементы на основе их атрибута и значения.

input[type="text"] {
    border: 1px solid gray;
}

Оформляет все поля ввода текста серой рамкой. Это полезно для стилизации определенных элементов формы или элементов с уникальными атрибутами данных.

4. Псевдоклассы (:pseudo-class)

element:pseudo-class

Этот селектор фокусируется на элементах по их состоянию, положению или другим уникальным характеристикам, а не по их структуре.

a:hover {
    color: red;
}

Меняет цвет ссылки на красный при наведении курсора. Повышайте интерактивность (например, состояния наведения и фокуса) и выбирайте элементы в зависимости от их положения…