В последний раз мы подключили к нашему проекту со статьей
normalize.css
и
style.css
в который внесли некоторые стили.
Давайте немного подготовим нашу статью к вёрстке:
- Проверим, что все пути к файлам прописаны правильно и удалим размер изображения
width="700"
- Удалим из таблицы прописанные ранее свойства. Потому что все свойства мы будем писать через классы в файле
style.css
- Так же нам нужно добавить новый стиль для всего документа.
Это свойство позволяет наследовать свойствоbox-sizing
у родительского элемента всем элементам на странице.
*,
*::before,
*::after {
box-sizing: inherit;
}
Опираясь на пример создадим стили:
- Общий контейнер
В примере мы видим, что статья располагается не во всю ширину экрана. Ранее мы уже создали классcontainer
для главного контейнера<body>
- зададим ширину 1170 пикселей и поставим содержимое контейнера по центру всей веб-страницы
- добавим шрифты для всей статьи: Arial, Helvetica, sans-serif
.container {
width: 1170px;
margin: 0 auto;
font-family: Arial, Helvetica, sans-serif;
padding: 20px;
background-color: #eee;
}
- Главный заголовок
Для главного заголовка создадим классmain_title
и присвоим ему стили:
- переназначим нижний отступ и зададим ему 30 пикселей
- зададим размер шрифта 50 пикселей
- сделаем цвет текста blueviolet
.main_title {
margin-bottom: 30px;
font-size: 50px;
color: blueviolet;
}
- Стилизуем параграфы
Всем параграфам, одинаковым по стилю, необходимо создать классtext
. Зададим стили:
- сбросим отступы
- переназначим нижний отступ 30 пикселей
- для удобства чтения сократим ширину до 1100 пикселей
- зададим размер шрифта 20 пикселей
- расстояние между строк 1.5
.main_title {
margin: 0;
margin-bottom: 30px;
max-width: 1100px;
font-size: 20px;
line-height: 1.5;
}
Сверимся с макетом:
- Стилизация цитаты
Цитата имеет фоновый цвет и отличается в начертании. Обратите внимание! Цитата должна находиться в контейнере, для того чтобы мы могли стилизовать контейнер.
- задайте класс для контейнера цитатыquote
- сбросьте внешние отступы
- задайте нижний отступ 30 пикселей
- задайте внутренние отступы, чтобы отделить контент внутри контейнера: 20 пикселей сверху и снизу, 50 пикселей слева и справа
- задайте цвет фона со значением blueviolet
- задайте цвет текста цитаты lightgray
- задайте размер текста цитаты 20 пикселей
- расстояние между строк 1.5
.main_title {
margin: 0;
margin-bottom: 30px;
font-size: 20px;
line-height: 1.5;
}
Посмотрим на результат:
- Стилизация изображения
В примере статьи изображение прижато к левому краю, а в нашем случае у тега<figure>
есть встроенные отступы.
- назначим тегу<figure>
классimage_group
- сбросим все отступы и отцентруем изображение с подписью
- переназначим нижний отступ 50 пикселей
- ограничим максимальную ширину блока до 700 пикселей
.image_group {
margin: 0 auto;
margin-bottom: 50px;
max-width: 700px;
}
- Блок после изображения - это его подпись. Назначим собственный класс для тега с подписью и присвоим ему стили:
- назначим внутренние отступы, чтобы отделить текст от краев 10 пикселей со всех сторон
- цвет фона blueviolet
- цвет текста lightgray
- сделаем размер шрифта 16 пикселей
- поставим текст по центру
.image_group_text {
padding: 10px;
background-color: blueviolet;
color: lightgray;
font-size: 16px;
text-align: center;
}
- Заголовки второго уровня
Далее у нас идут повторяющиеся элементы - заголовки. Выглядят они одинаково и имеют одинаковый вес в статье, поэтому мы можем использовать для них один общий класс.
- переназначим нижний отступ 30 пикселей
- размер шрифта 30 пикселей
.heding {
margin-bottom: 30px;
font-size: 30px;
}
- Стилизуем список
Зададим списку собственный класс и пропишем свойства:
- назначим отступ снизу 30 пикселей
- размер шрифта 20 пикселей
- увеличим расстояние между строк до 1.2
- чтобы увеличить расстояние между элементами списка "достучимся" до них через класс родительского элемента. При этом не забудем применить псевдокласс, чтобы у последнего элемента в списке отступа не было.
.list {
margin-bottom: 30px;
font-size: 20px;
line-height: 1.2;
}
.list li:not(:last-child) {
margin-bottom: 20px;
}
Нижний отступ задается всему списку , то есть тегу
<ol>
, при этом у последнего элемента нижний отступ отсутствует:
- Таблица
Присвойте таблице класс и стилизуйте его
- разместим таблицу по центру
- добавим нижний отступ 30 пикселей
- из предыдущих уроков мы знаем, что ячейки в таблице имеют расстояние между собой и чтобы их сбросить нам нужно свойствоborder-collapse
со значениемcollapse
.
.main_table {
margin: 0 auto;
margin-bottom: 30px;
border-collapse: collapse;
}
- Заголовок таблицы
Присвойте заголовку таблицы класс и стилизуйте его
- отступ снизу 10 пикселей
- толщина шрифта со значением 700
- размер шрифта 20 px
.main_caption {
margin-bottom: 10px;
font-weight: 700;
font-size: 20px;
}
- Первая строка таблицы
Присвойте тегам<th>
классtable_bord
и стилизуйте его
- задайте сплошную границу толщиной 1 пиксель серого цвета
- чтобы отделить контент от краев ячейки нам потребуется установить внутренний отступ для каждой ячейки. Добавим внутренние отступы 30 пикселей - Остальные ячейки таблицы сейчас не имеют границ. Мы могли бы назначить им собственный класс и задать границу, но так как у нас гриницы во всей таблице одинаковые, то мы можем использовать один класс
table-bord
. Добавьте его во все ячейки. Да, это может показаться довольно трудозатратной работой, но верстальщики должны справляться с такими задачами.
.table_bord {
padding: 30px;
border: 1px solid gray;
}
- Вернемся к стилизации первой строки таблицы. Мы видим, что цвет шрифта отличается от цвета шрифта внутри таблицы и заголовки прижаты к левому краю. Поэтому, мы не можем использовать тот же класс, который применяли для стилизации ячеек. Нам нужно создать еще один класс.
Делается это таким образом:
<th class="table_bord table_header">Название набора</th>
- Дополнительный класс просто пишется через пробел.
- задайте фиолетовый цвет текста, такой же, как мы использовали ранее в статье.
- расположите текст по левому краю
.table_header {
color: blueviolet;
text-align: left;
}
Посмотри, что получилось в браузере:
- И последний элемент в статье - ссылки
- присвойте новый класс для ссылок
- поставьте размер шрифта 20 пикселей
- цвет текста фиолетовый
- для того чтобы назначить внешние отступы у ссылки, ее необходимо сделать блочным элементом
- используя псевдокласс сделайте расстояние между ссылками 20 пикселей (удалите в HTML коде теперь уже не нужный тег<br>
.link {
font-size: 20px;
color: blueviolet;
display: block;
}
.link:not(:last-child) {
margin-bottom: 20px;
}
Мы закончили оформление статьи. Благодаря этой практике мы еще раз повторили принцип присвоения классов и стилизацию тегов. В следующих практических работах, мы будем усложнять наш код, постепенно добавляя в него новые элементы и стили.