Основи вебтипографіки
Типографіка - це те, як текст виглядає і відчувається на сторінці.
Хороша типографіка робить контент легшим для читання. Вона також допомагає заголовкам, абзацам, кнопкам і підписам виглядати впорядковано.
У CSS типографіку контролюють властивості font-family, font-size, line-height, text-align і прості правила форматування.
Що означає вебтипографіка
Вебтипографіка означає вибір і стилізацію тексту для сайту.
Це не лише про те, щоб зробити текст більшим або меншим. Вона також включає:
- який шрифт використовується
- наскільки великий текст
- скільки простору є між рядками
- чи вирівняний текст ліворуч, по центру або праворуч
- чи текст жирний, курсивний, у верхньому регістрі або підкреслений
Мета проста: зробити текст зрозумілим і зручним для читання.
Font family
Властивість font-family каже браузеру, який шрифт використовувати.
Зазвичай ти пишеш більше ніж одну назву шрифту. Такий список називається font stack. Браузер пробує перший шрифт. Якщо його немає, він пробує наступний.
Останнім значенням має бути загальна сім'я шрифтів, наприклад sans-serif, serif або monospace.
Якщо назва шрифту має пробіли, візьми її в лапки:
Використовуй одну або дві сім'ї шрифтів на сторінці. Забагато шрифтів може зробити дизайн хаотичним.
Font size
Властивість font-size контролює, наскільки великим виглядає текст.
Дві зручні для початківців одиниці - це px і rem.
pxзадає фіксований розмір.remмасштабується від кореневого розміру шрифту сторінки.
У багатьох браузерах 1rem зазвичай дорівнює 16px, тому 2rem зазвичай дорівнює 32px.
Надавай перевагу rem для розмірів тексту. Якщо відвідувач збільшує стандартний розмір шрифту в браузері для кращого читання, текст у rem масштабується разом із цим налаштуванням, а текст у px залишається фіксованим.
Використовуй читабельні розміри тексту. Дуже малий основний текст важко читати, особливо на телефонах.
Line height
Властивість line-height контролює вертикальний простір між рядками тексту.
Думай про неї як про повітря всередині абзацу.
Значення без одиниці, наприклад 1.6, використовується часто. Воно означає, що висота рядка у 1.6 раза більша за поточний розмір шрифту.
Низьке значення line-height може зробити абзаци тісними. Значення приблизно 1.5 або 1.6 часто легше читати для основного тексту.
Text alignment
Властивість text-align контролює горизонтальне вирівнювання тексту.
Поширені значення:
left: вирівнює текст ліворучcenter: вирівнює текст по центруright: вирівнює текст праворучjustify: розтягує рядки так, щоб обидва краї були вирівняні
Вирівнювання по центру добре працює для коротких заголовків.
Для довгих абзаців вирівнювання ліворуч зазвичай легше читати. Центровані абзаци ускладнюють пошук початку наступного рядка.
Просте форматування тексту
CSS також має властивості для простого форматування тексту.
Корисні властивості форматування:
font-weight: контролює товщину, наприкладnormalабоboldfont-style: контролює нахил, наприкладnormalабоitalictext-transform: змінює регістр, наприкладuppercase,lowercaseабоcapitalizetext-decoration: додає або прибирає лінії, наприкладunderlineабоnone
Будь обережним із підкресленням. У вебі підкреслений текст зазвичай означає посилання.
Інтерактивний приклад: типографіка картки статті
Цей приклад поєднує сім'ю шрифтів, розмір шрифту, висоту рядка, вирівнювання і форматування тексту.
Спробуй змінити CSS-значення і запусти приклад ще раз.
<article class="article-card">
<p class="category">Основи CSS</p>
<h2>Вивчаємо вебтипографіку</h2>
<p class="summary">
Зрозумілий текст допомагає людям читати твою сторінку без зусиль. Хороший розмір шрифту і
line-height можуть зробити просту статтю охайнішою.
</p>
<a href="#">Читати далі</a>
</article>
<style>
.article-card {
max-width: 420px;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
font-family: Arial, Helvetica, sans-serif;
}
.category {
font-size: 0.8rem;
font-weight: bold;
text-transform: uppercase;
color: #666;
}
.article-card h2 {
font-size: 1.8rem;
line-height: 1.2;
}
.summary {
font-size: 1rem;
line-height: 1.6;
text-align: left;
}
</style>Картка використовує один список шрифтів, більший заголовок, читабельні відступи в абзаці й текст категорії у верхньому регістрі.
Поширені помилки початківців
- Використання забагатьох шрифтів: однієї або двох сімей шрифтів зазвичай достатньо.
- Відсутність резервних шрифтів: заверши список шрифтів загальною сім'єю, наприклад
sans-serif. - Занадто малий текст: основний текст має бути зручним для читання.
- Затісний line-height: абзацам потрібен достатній вертикальний простір.
- Центрування довгих абзаців: вирівнювання по центру краще підходить для короткого тексту.
- Підкреслення звичайного тексту: підкреслення може зробити текст схожим на клікабельний.
Міні завдання
Подивись на цей CSS:
Яку властивість потрібно додати, якщо ти хочеш більше вертикального простору між рядками тексту?
Перевір відповіді на тест, коли будеш готовий.
Короткий тест із відповідями
- Яка CSS-властивість обирає шрифт?
- Якщо кореневий розмір шрифту дорівнює
16px, який розмір має2rem? - Чому
"Times New Roman"потрібно брати в лапки?
Відповіді:
font-family.32px.- Тому що назва шрифту містить пробіли.
Відповідь на міні завдання: додай line-height.
Невеликий виклик
Стилізуй текст профілю нижче.
Твої цілі:
- Задай список шрифтів
sans-serifдля.profile. - Зроби ім'я у верхньому регістрі.
- Зроби ім'я нормальної товщини.
- Дай абзацу комфортну висоту рядка.
<div class="profile">
<h3 class="name">Jane Doe</h3>
<p class="bio">Я вивчаю, як типографіка робить текст легшим для читання у вебі.</p>
</div>
<style>
.profile {
}
.name {
}
.bio {
}
</style>Один можливий розв'язок:
Summary
font-familyобирає шрифт і має містити резервні шрифти.font-sizeконтролює, наскільки великим виглядає текст.line-heightконтролює вертикальний простір між рядками.text-alignконтролює горизонтальне вирівнювання тексту.font-weightзмінює товщину.font-styleможе зробити текст курсивним.text-transformзмінює регістр тексту.text-decorationдодає або прибирає лінії, наприклад підкреслення.