В CSS есть достаточно способов обратиться к нужным элементам.
В каждой новой спецификацией CSS добавлялось что-то новое, и теперь у нас есть много самых разных селекторов. Кроме того, различие в спецификациях можно использовать, например, чтобы спрятать стили от старых браузеров.
Спецификацию можно найти по ссылке: w3.org/TR/css3-selectors
Селекторы ниже сгруппированы по спецификациям. Это поможет нам понять какие из них работают везде (из CSS1), какие работают почти везде (из CSS2), а какие кое-где могут и не работать.
Самые простые и хорошо всем знакомые:
В этой спецификации добавилось много интересного:
* — универсальный селектор. Например, * {margin: 0; } уберет отступы у всех элементов на странице.
E[foo] — элементы с заданым атрибутом.
Например:
P[data-content] {
border: 2px solid crimson;
}
Универсальный селектор:
Селектор * применяется ко всем элементам на странице.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
Селекторы по типу элемента:
Селектор элемента применяет стили к конкретному типу HTML-элемента.
h1 {
color: #3498db;
}
p {
font-size: 16px;
}
Классовые селекторы:
Селектор по классу позволяет стилизовать элементы с определенным классом.
.highlight {
background-color: #ffff00;
}
.rounded {
border-radius: 5px;
}
Идентификационные селекторы:
Селектор по идентификатору применяет стили к уникальному элементу на странице.
#header {
font-size: 24px;
}
#sidebar {
width: 250px;
}
Дочерние селекторы:
Селектор дочерних элементов применяет стили к элементам, являющимся прямыми потомками указанного элемента.
article > p {
margin-bottom: 10px;
}
Псевдоклассы:
Псевдоклассы позволяют стилизовать элементы в определенных состояниях или условиях.
a:hover {
color: #e74c3c;
}
input:focus {
border: 2px solid #27ae60;
}
Атрибутные селекторы:
Селектор по атрибуту применяет стили к элементам с определенным атрибутом.
[type="text"] {
width: 300px;
}
HTML приемер:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Selectors Lesson</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>Пример селекторов в CSS</h1>
<p class="highlight">Этот абзац имеет класс "highlight".</p>
<div id="sidebar" class="rounded">Этот блок имеет идентификатор "sidebar" и класс "rounded".</div>
<article>
<p>Этот абзац внутри тега article.</p>
</article>
<a href="#" title="Наведите для изменения цвета">Наведите для изменения цвета</a>
<input type="text" placeholder="Введите текст">
</body>
</html>
Селекторы в CSS предоставляют вам мощный инструмент для стилизации ваших веб-страниц. Используйте разнообразие селекторов, чтобы точно определить элементы, к которым вы хотите применить стили. Помните, что правильная организация кода с помощью селекторов делает ваш CSS более читаемым и управляемым.
Будьте первым