Урок 4 из 8 · 20 мин · обновлено
Знакомство с CSS: селекторы, цвета и шрифты
Как подключить CSS к странице, как устроено правило, чем различаются селекторы по тегу, классу и id, и что такое каскад и наследование.
Подключаем стили
CSS пишут в отдельном файле и подключают в <head>:
<head>
<meta charset="utf-8">
<title>Пиццерия</title>
<link rel="stylesheet" href="style.css">
</head>
Один файл стилей подключается ко всем страницам сайта. Поменяли цвет кнопки в одном месте — он поменялся везде.
Как устроено правило
h1 {
color: #2d5a44;
font-size: 32px;
}
h1— селектор: к каким элементам применяется правило;- в фигурных скобках — объявления: свойство, двоеточие, значение, точка с запятой.
Селекторы
| Селектор | Пример | Кого выбирает |
|---|---|---|
| по тегу | p |
все абзацы |
| по классу | .price |
все элементы с class="price" |
| по id | #header |
один элемент с id="header" |
| вложенности | .card p |
абзацы внутри элементов с классом card |
<p class="price">450 ₽</p>
<p class="price old">590 ₽</p>
.price {
font-weight: bold;
}
.old {
color: gray;
text-decoration: line-through;
}
Классы — главный инструмент вёрстки. Один класс можно дать многим элементам, а одному элементу — несколько классов через пробел. id уникален на странице, и для оформления его используют редко.
Цвета, шрифты и текст
Цвет задают названием, HEX-кодом или в RGB:
.title {
color: #2d5a44; /* HEX — самый частый способ */
background-color: rgb(243, 245, 239);
}
Самые нужные свойства текста:
body {
font-family: Arial, sans-serif; /* шрифт и запасной вариант */
font-size: 16px;
line-height: 1.5; /* межстрочный интервал */
color: #18201c;
}
.note {
font-weight: bold;
text-align: center;
}
В font-family перечисляют несколько шрифтов: если первого нет на компьютере, браузер возьмёт следующий.
Цвет удобно брать из макета дизайнера или подбирать в инструментах разработчика: если нажать на образец цвета в панели стилей, откроется палитра.
Каскад: кто победит
CSS расшифровывается как «каскадные таблицы стилей». Каскад — это правила, по которым браузер решает, какое из спорящих свойств применить:
- Более точный селектор сильнее: id сильнее класса, класс сильнее тега.
- При равной точности побеждает правило, которое стоит ниже в файле.
p { color: black; }
.note { color: red; } /* класс точнее тега: абзац с классом note будет красным */
Наследование
Некоторые свойства передаются вложенным элементам. Если задать шрифт и цвет для body, их получат все элементы внутри — поэтому базовое оформление текста пишут один раз. Наследуются в основном свойства текста: шрифт, цвет, размер, межстрочный интервал. Отступы, рамки и фон — нет.
Попробуйте сами. Для страницы из прошлых уроков задайте: шрифт Arial для всей страницы, тёмно-зелёный цвет заголовков, серый цвет для абзацев с классом muted, а для цен с классом price — жирный шрифт и размер 20px.
Решение
body {
font-family: Arial, sans-serif;
line-height: 1.5;
}
h1,
h2 {
color: #2d5a44;
}
.muted {
color: #5d685f;
}
.price {
font-weight: bold;
font-size: 20px;
}
Селекторы можно перечислять через запятую: h1, h2 получат одно и то же правило. Каждый селектор на отдельной строке — так файл стилей легче читать.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Как правильно подключить файл стилей style.css?
Тег link в head подключает внешний файл стилей. Так один файл оформляет все страницы сайта.
-
Какой селектор выберет все элементы с классом card?
Точка перед именем означает класс, решётка — id, а слово без знаков — тег.
-
Для абзаца заданы правила p { color: black; } и .note { color: red; }. Какого цвета будет <p class="note">?
Селектор по классу точнее селектора по тегу, поэтому его правило побеждает, где бы оно ни стояло в файле.
-
У body задан шрифт Arial. Каким шрифтом будут написаны абзацы внутри?
Свойства текста — шрифт, цвет, размер — наследуются вложенными элементами. Поэтому общий шрифт задают один раз для body.