CSS селекторы, свойства, значения
Каскадная таблица стилей состоит из CSS правил. Каждое CSS правило состоит из селектора и блока декларации.
CSS селекторы очень похожи на HTML теги. Селектор указывает на HTML элемент, для которого вы определяете визуальный стиль.
Блок декларации содержит одну или несколько деклараций свойств, разделенных точкой с запятой. Блок деклараций заключают в фигурные скобки.
Каждая декларация состоит из имени свойства и его значения, разделенных двоеточием.
Свойства – это ключевые слова, такие как color
, font-weight
или background-color
, которым присвоены определенные значения:
body { font-size: 0.8em; color: navy; }
В данном примере создается CSS селектор body
, который соотносится с HTML тегом <body>. В этом селекторе определяется два свойства – font-size
и color
, которым присваиваются соответствующие значения.
CSS селекторы можно разделить на пять категорий:
- Простые селекторы (элементы отбираются по имени, идентификатору или классу)
- Комбинированные селекторы (элементы отбираются по специфическим отношениям между ними)
- Селекторы псевдоклассов (элементы отбираются по определенному состоянию)
- Селекторы псевдоэлементов (отбирается и стилизуется часть элемента)
- Селекторы атрибутов (элементы отбираются по атрибутам или значениям атрибутов)
CSS селектор элемента
Селектор элемента или HTML селектор — это простой селектор, который отбирает HTML элементы по их имени.
В следующем примере отбираются все существующие на странице элементы <p>. Их текст будет красного цвета и выровнен по центру:
p { text-align: center; color: red; }
В данном учебнике основное внимание будет уделяться так называемым HTML селекторам, т. е. обычным именам тегов, которые используются в качестве селекторов стилей для изменения внешнего представления соответствующих HTML элементов.
CSS селектор идентификатора
Селектор идентификатора для отбора заданного элемента использует атрибут id
HTML элемента.
Идентификатор элемента уникален в пределах веб-страницы, таким образом селектор идентификатора используется для выбора одного уникального элемента!
Чтобы определить селектор идентификатора, нужно написать символ решетки (#) и имя идентификатора элемента.
В следующем примере определяются стили для HTML элемента с идентификатором:
#para1 { text-align: center; color: red; }
Внимание! Имя идентификатора не может начинаться с цифры!
CSS селектор класса
Селектор класса для отбора заданного элемента использует атрибут class
HTML элемента.
Чтобы определить селектор класса, нужно написать символ точки (.) и имя класса элемента.
В следующем примере все HTML элементы с классом будут отображать текст красного цвета, который выровнен по центру:
.center { text-align: center; color: red; }
Так как один и тот же класс может присваиваться нескольким элементам, вы можете указать на какой именно HTML элемент должен влиять селектор класса.
В следующем примере только элементы <p> с классом будут отображать текст красного цвета, который выровнен по центру:
p.center { text-align: center; color: red; }
Также, HTML элементы могут иметь больше одного класса.
В следующем примере элемент <p> будет принимать стили, соответствующие селекторам класса и:
<style> p.center { text-align: center; color: red; } p.large { font-size: 300%; } </style> <p>Этот параграф определен по двум классам.</p>
Внимание! Имя класса не может начинаться с цифры!
Универсальный селектор
Универсальный селектор (*) отбирает абсолютно все HTML элементы на странице.
Следующее CSS правило окажет воздействие на каждый HTML элемент на странице:
* { text-align: center; color: red; }
Группирование селекторов
Группирование селекторов позволяет объединить одно и то же определение стиля для нескольких HTML элементов в одну декларацию.
Посмотрите на следующий код CSS (для элементов h2, h3 и p заданы одинаковые стили):
h2 { text-align: center; color: red; } h3 { text-align: center; color: red; } p { text-align: center; color: red; }
Чтобы уменьшить количество кода, мы можем сгруппировать эти селекторы в одну декларацию.
Чтобы сгруппировать селекторы, нужно в головной части перечислить их через запятую.
В следующем примере мы группируем селекторы из предыдущего примера:
h2, h3, p { text-align: center; color: red; }
Селекторы — Основы CSS — HTML Academy
Загрузка…
Через несколько секунд всё будет готово
- index. html
- style.css
HTML
<!DOCTYPE html> <html lang=»ru»> <head> <meta charset=»utf-8″> <title>Сайт начинающего верстальщика</title> <link rel=»stylesheet» href=»style.css»> </head> <body> <header> <h2>Сайт начинающего верстальщика</h2> </header> <main> <img src=»img/raccoon.svg» alt=»Аватарка»> <nav> <h3>Записи в блоге</h3> <ul> <li><a href=»day-1.html»>День первый. Как я забыл покормить кота</a></li> <li><a href=»day-2.html»>День второй. Хочу быть верстальщиком</a></li> <li><a href=»day-3.html»>День третий. Мой кот на меня обиделся</a></li> <li><a href=»day-4.html»>День четвёртый. Как я чуть не заболел</a></li> <li><a href=»day-5.
html»>День пятый. Отдыхаю</a></li> <li><a href=»day-6.html»>День шестой. Как я ничего не понял</a></li> <li><a href=»day-7.html»>День седьмой. Кекс выдал мне задание</a></li> <li><a href=»day-8.html»>День восьмой. Очень серьёзный</a></li> <li><a href=»day-9.html»>День девятый. Точнее ночь</a></li> <li><a href=»day-10.html»>День десятый. Подведение итогов</a></li> <li><a href=»day-11.html»>День одиннадцатый. Без фанатизма</a></li> <li><a href=»day-12.html»>День двенадцатый. Все любят печенье</a></li> <li><a href=»day-13.html»>День тринадцатый. Нашёл статью</a></li> <li><a href=»day-14.html»>День четырнадцатый. Новый формат</a></li> <li><a href=»day-15.html»>День пятнадцатый.CSS
body { padding: 0 30px; font-size: 14px; line-height: 22px; font-family: «Georgia», serif; color: #222222; } h2 { font-size: 36px; line-height: normal; } h3 { font-size: 20px; line-height: normal; } a { color: #0099ef; text-decoration: underline; } /* Замените название селектора в правиле ниже */ selector { border-radius: 10px; } nav { margin-bottom: 30px; background-color: #4470c4; } /* Замените название селектора в правиле ниже */ selector { color: #ffffff; } ul { list-style: none; padding-left: 0; } footer { margin-top: 30px; }
Что в задании вам не понравилось?
Не работает проверка кодаЗадание слишком сложноеНепонятная теорияДругое (сейчас напишу)
Другое (сейчас напишу)
Спасибо! Мы скоро всё исправим)
Код изменился, нажмите «Обновить» или включите автозапуск.
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.
ЗадачиВыполнено
- В CSS-правиле на 25 строке замените заглушку
selector
на селектор.avatar
, - а затем на 35 строке замените заглушку
selector
на селекторnav a
(да, с пробелом, позже расскажем почему).
:is() — CSS: Каскадные таблицы стилей
Функция псевдокласса CSS :is()
принимает в качестве аргумента список селекторов и выбирает любой элемент, который может быть выбран одним из селекторов в этом списке. Это полезно для написания больших селекторов в более компактной форме.
Примечание: Первоначально названный :matches()
(и :any()
), этот селектор был переименован в :is()
в выпуске CSSWG #3258.
Псевдоэлементы недопустимы в списке селекторов для :is()
.
Разница между :is() и :where()
Разница между ними в том, что :is()
учитывает специфичность всего селектора (он принимает специфичность своего наиболее конкретного аргумента), тогда как :where()
имеет значение специфичности 0. Это продемонстрировано в примере на справочной странице :where()
.
Разбор прощающего селектора
Спецификация определяет :is()
и :where()
как принимающие прощающий список селекторов.
В CSS при использовании списка селекторов, если какой-либо из селекторов недействителен, весь список считается недействительным. При использовании :is()
или :where()
вместо того, чтобы весь список селекторов считался недействительным, если один из них не может быть проанализирован, неправильный или неподдерживаемый селектор будет игнорироваться, а будут использоваться другие.
: есть (: действительно,: не поддерживается) { /* … */ }
Будет правильно анализировать и соответствовать :valid
даже в браузерах, которые не поддерживают :unsupported
, тогда как:
:valid, :неподдерживаемый { /* … */ }
Будет игнорироваться в браузерах, которые не поддерживают :unsupported
, даже если они поддерживают :valid
.
Упрощение селекторов списка
Псевдокласс :is()
может значительно упростить ваши селекторы CSS. Например, возьмите следующий CSS:
/* Ненумерованные списки глубиной 3 (или более) используют квадрат */ ол ол ул, ол ул ул, ол меню ул, ол дир ул, ол ол меню, ол уль меню, ол меню меню, ол дир меню, ол ол дир, ол уль дир, ол меню директор, ол дир дир, ул ол ул, ул ул ул, ул меню ул, ул дир ул, ул ол меню, ул уль меню, ул меню меню, уль дир меню, ул ол дир, ул уль дир, ул меню директор, ул дир дир, меню ол ул, меню ул ул, меню меню ул, меню дир ул, меню ол меню, меню ул меню, меню меню меню, меню реж меню, меню ол дир, меню ул дир, меню меню реж, меню дир дир, дир ол ул, дир ул ул, дир меню ул, дир дир ул, дир ол меню, дир уль меню, меню меню дир, дир дир меню, дир ол дир, дир уль дир, дир меню дир, дир дир дир { тип стиля списка: квадратный; }
Вы можете заменить его на:
/* 3-глубокие (или более) неупорядоченные списки используют квадрат */ :is(ol, ul, menu, dir) :is(ol, ul, menu, dir) :is(ul, menu, dir) { тип стиля списка: квадратный; }
Упрощение селекторов разделов
Псевдокласс :is()
особенно полезен при работе с разделами и заголовками HTML. Поскольку
,
, и
обычно вложены вместе, без
:is()
, стилизовать их так, чтобы они соответствовали друг другу, может быть непросто.
Например, без :is()
стилизация всех
элементов на разной глубине может быть очень сложной:
/* Уровень 0 */ ч2 { размер шрифта: 30px; } /* 1-й уровень */ сечение h2, статья h2, в сторону h2, навигация h2 { размер шрифта: 25px; } /* Уровень 2 */ сечение сечение h2, статья раздела h2, сечение в сторону h2, раздел навигации h2, раздел статьи h2, статья статья h2, статья в сторону h2, статья навигация h2, в сторону секции h2, в сторону статьи h2, в сторону h2, в сторону навигации h2, раздел навигации h2, навигационная статья h2, навигация в сторону h2, нав нав h2 { размер шрифта: 20px; } /* Уровень 3 */ /* даже не думайте об этом! */
Используя :is()
, это гораздо проще:
/* Уровень 0 */ ч2 { размер шрифта: 30px; } /* 1-й уровень */ :is(раздел, статья, в сторону, навигация) h2 { размер шрифта: 25px; } /* Уровень 2 */ :is(раздел, статья, в стороне, навигация) :is(раздел, статья, в стороне, навигация) h2 { размер шрифта: 20px; } /* Уровень 3 */ :is(раздел, статья, в сторону, навигация) :is(раздел, статья, в сторону, навигация) :is(раздел, статья, в сторону, навигация) ч2 { размер шрифта: 15px; }
:is() не выбирает псевдоэлементы
Псевдокласс :is()
не соответствует псевдоэлементам. Поэтому вместо этого:
какой-то элемент: есть (:: до, :: после) { дисплей: блок; }
вместо этого выполните:
какой-то элемент::до, какой-то элемент :: после { дисплей: блок; }
:is(<список-селекторов-прощающих> )
Спецификация |
---|
Селекторы уровня 4 # совпадения-псевдо |
Таблицы BCD загружаются только в браузере
с включенным JavaScript. Включите JavaScript для просмотра данных.-
:where()
— Аналогично:is()
, но с нулевой специфичностью. - Список выбора
- Веб-компоненты
Последнее изменение: , участниками MDN
Селекторы CSS
❮ Предыдущая Далее ❯
Селектор CSS выбирает элементы HTML, которые вы хочу стиль.
Селекторы CSS
Селекторы CSS используются для «поиска» (или выбора) элементов HTML, которые вы хочу стиль.
Селекторы CSS можно разделить на пять категорий:
- Простые селекторы (выбор элементов на основе имени, идентификатора, класса)
- Комбинаторные селекторы (выберите элементы на основе определенного отношения между ними)
- Селекторы псевдокласса (выбирают элементы на основе определенного состояния)
- Селекторы псевдоэлементов (выбрать и стиль части элемента)
- Селекторы атрибутов (выбор элементов на основе атрибут или значение атрибута)
На этой странице объясняются самые основные селекторы CSS.
Селектор элементов CSS
Селектор элементов выбирает элементы HTML на основе имени элемента.
Пример
Здесь все элементы
на странице будут с выравниванием по центру, с красным цветом текста:
p
{
выравнивание текста: по центру;
цвет: красный;
}
Попробуйте сами »
Селектор идентификаторов CSS
Селектор идентификаторов использует атрибут id элемента HTML для выбора определенного элемента.
Идентификатор элемента уникален на странице, поэтому селектор идентификатора использовал к выберите один уникальный элемент!
Чтобы выбрать элемент с определенным идентификатором, напишите символ решетки (#), а затем идентификатор элемента.
Пример
Приведенное ниже правило CSS будет применено к элементу HTML с:
#пара1
{
выравнивание текста: по центру;
цвет: красный;
}
Попробуйте сами »
Примечание: Имя идентификатора не может начинаться с цифры!
Селектор класса CSS
Селектор класса выбирает элементы HTML с определенным атрибутом класса.
Чтобы выбрать элементы определенного класса, введите символ точки (.), а затем имя класса.
Пример
В этом примере все элементы HTML будут выделены красным цветом и выровнены по центру:
.center {
text-align: center;
цвет: красный;
}
Попробуйте сами »
Вы также можете указать, что класс должен влиять только на определенные элементы HTML.
Пример
В этом примере только элементы
с будут красный цвет и выравнивание по центру:
p.center {
text-align: center;
цвет: красный;
}
Попробуйте сами »
HTML-элементов также может относиться к более чем одному классу.
Пример
В этом примере элемент
будет оформлен в соответствии со стилем и to:
Этот абзац относится к двум классам.
Попробуйте сами »
Примечание: Имя класса не может начинаться с цифры!
Универсальный селектор CSS
Универсальный селектор (*) выбирает все HTML элементы на странице.
Пример
Приведенное ниже правило CSS повлияет на каждый элемент HTML на странице:
*
{
выравнивание текста: по центру;
цвет: синий;
}
Попробуйте сами »
Селектор группировки CSS
Селектор группировки выбирает все элементы HTML с одинаковым стилем определения.
Посмотрите на следующий код CSS (элементы h2, h3 и p имеют одинаковые определения стиля):
h2
{
выравнивание текста: по центру;
цвет: красный;
}
h3
{
выравнивание текста: по центру;
цвет: красный;
}
р
{
выравнивание текста: по центру;
цвет: красный;
}
Лучше сгруппировать селекторы, чтобы минимизировать код.
Чтобы сгруппировать селекторы, разделите каждый селектор запятой.
Пример
В этом примере мы сгруппировали селекторы из приведенного выше кода:
h2, h3, p
{
выравнивание текста: по центру;
цвет: красный;
}
Попробуйте сами »
Проверьте себя с помощью упражнений
Упражнение:
Установите для всех элементов
красный цвет.
<стиль> { красный; }
Начать упражнение
Все простые селекторы CSS
Селектор | Пример | Пример описания |
---|---|---|
# ID | #имя | Выбирает элемент с |
. |