Свойство vertical-align, вертикальное выравнивание текста
Если есть свойство для горизонтального выравнивания, то должно быть и для вертикального? Да, и это свойство vertical-align.
Этим свойством можно выравнивать инлайновые элементы относительно содержащей его строки. Самый простой пример, который мы разберём в этом задании — выровнять картинку <img> по вертикали в текстовой строке.
У свойства vertical-align много значений, но самые часто используемые:
top — выравнивание по верхнему краю строки;
middle — по середине строки;
bottom — по нижнему краю строки;
baseline — по базовой линии строки (значение по умолчанию).
В отличие от text-align свойство vertical-align задаётся самому элементу, а не содержащему его контейнеру:
HTML:
<p>
<img src="picture.png" alt="Я картинка">
Я текст внутри абзаца
</p>
CSS:
img {
vertical-align: middle;
}
Помимо ключевых слов для vertical-align ещё есть возможность задавать значения в пикселях и процентах.
Процентное значение (например, vertical-align: 100%) вычисляется относительно заданной высоты строки line-height. Значение 0% — это то же самое, что и baseline, а ещё оно может быть как положительным, так и отрицательным.
Значение в пикселях (например, vertical-align: 10px) работает аналогично процентному, только отсчитывается в пикселях в большую или меньшую сторону. Значение 0px эквивалентно baseline.
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>
<h1 class="page-title">Сайт начинающего верстальщика</h1>
</header>
<main>
<div class="avatar-container">
<img class="avatar" src="img/raccoon.svg" width="80" height="80" alt="Аватарка">
</div>
<nav class="blog-navigation">
<h2>Записи в блоге</h2>
<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">День пятнадцатый. Галерея селфи</a></li>
</ul>
</nav>
<section>
<p>Всем привет! Добро пожаловать на мой первый сайт. Ещё недавно я понятия не имел, кто такой верстальщик, а теперь я нашёл <a href="https://htmlacademy.ru/courses">тренажёры по HTML и CSS</a> и поставил перед собой цель — стать им. У меня даже появился инструктор — Кекс, который не позволит мне расслабиться и будет следить за моими успехами.</p>
<p>Моё первое задание — вести дневник и честно писать обо всех своих свершениях.</p>
</section>
<section>
<h2>Навыки</h2>
<dl class="skills">
<dt>HTML</dt>
<dd><div class="skills-level skills-level-ok" style="width: 60%;">60%</div></dd>
<dt>CSS</dt>
<dd><div class="skills-level" style="width: 20%;">20%</div></dd>
<dt>JS</dt>
<dd><div class="skills-level" style="width: 10%;">10%</div></dd>
</dl>
</section>
</main>
<footer>
Подвал сайта
</footer>
</body>
</html>