Темизация типографики
Часть раздела Practical Frontend путешествия по HTML на Coddy — урок 15 из 35.
Типографика — это важная часть оформления и дизайна. Вместо того чтобы прописывать стили шрифтов повсеместно, мы можем определить их как CSS-переменные и использовать повторно на всем сайте. Это позволяет поддерживать единообразие стиля и упрощает его изменение в будущем.
Вы можете определить переменные для:
- Семейства шрифтов (например,
--font-family-base,--font-family-heading)
- Размеры шрифта (например,
--font-size-base,--font-size-h1) - Межстрочный интервал
- Межсимвольный интервал
Сначала давайте определим наши переменные типографики в элементе :root:
:root {
--font-primary: 'Open Sans', sans-serif;
--font-secondary: 'Roboto', sans-serif;
--font-size-base: 16px;
--line-height: 1.5;
--heading-color: #333;
--text-color: #555;
}Теперь примените эти переменные к вашим текстовым элементам:
body {
font-family: var(--font-primary);
font-size: var(--font-size-base);
line-height: var(--line-height);
color: var(--text-color);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-secondary);
color: var(--heading-color);
}Эта настройка создает единую систему типографики, которую вы можете легко изменить, обновив значения переменных в одном месте.
Задание
ЛегкоСоздайте типографическую тему для веб-сайта блога с отдельными переменными для заголовков и основного текста. Ваша задача:
- Определите CSS-переменные для:
- Размеров шрифта заголовков (
--h1-sizeи--h2-size) - Цвета текста абзацев (
--text-color) — выберите цвет, отличный от чисто черного, для лучшей читаемости - Цвета текста заголовков (
--heading-color) — выберите цвет, который выделяется на фоне основного текста
- Размеров шрифта заголовков (
- Примените эти переменные для стилизации:
- Основного текста
- Заголовков h1 и h2
Ваш CSS должен создавать четкую визуальную иерархию между заголовками и текстом абзацев.
Шпаргалка
Используйте переменные CSS для создания согласованных систем типографики, определяя стили шрифтов один раз и повторно используя их на всем сайте.
Определите переменные типографики в элементе :root:
:root {
--font-primary: 'Open Sans', sans-serif;
--font-secondary: 'Roboto', sans-serif;
--font-size-base: 16px;
--line-height: 1.5;
--heading-color: #333;
--text-color: #555;
}Применяйте переменные к текстовым элементам с помощью var():
body {
font-family: var(--font-primary);
font-size: var(--font-size-base);
line-height: var(--line-height);
color: var(--text-color);
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--font-secondary);
color: var(--heading-color);
}Общие переменные типографики включают:
- Семейство шрифтов (основные и заголовочные шрифты)
- Размеры шрифтов (базовый размер и размеры заголовков)
- Межстрочный интервал
- Межсимвольный интервал
- Цвета (цвета текста и заголовков)
Попробуйте сами
<!DOCTYPE html>
<html>
<head>
<title>Typography Theming</title>
<style>
:root {
/* Typography variables */
--primary-font: "Georgia", serif; /* for paragraphs */
--secondary-font: "Arial", sans-serif; /* for headings */
}
body {
font-family: var(--primary-font);
color: #000000;
line-height: 1.6;
margin: 0;
padding: 20px;
background-color: #f9f9f9;
}
h1, h2 {
font-family: var(--secondary-font);
color: #000000;
margin-bottom: 0.5em;
}
h1 {
font-size: 16px;
}
h2 {
font-size: 16px;
}
p {
margin-bottom: 1.2em;
}
.blog-post {
max-width: 700px;
margin: 0 auto;
background: #fff;
padding: 2rem;
border-radius: 10px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
</style>
</head>
<body>
<div class="blog-post">
<h1>The Beauty of Typography in Web Design</h1>
<p>Typography plays a crucial role in how users read and experience content online. A good choice of fonts and sizes can make a website more readable and enjoyable.</p>
<h2>Why Typography Matters</h2>
<p>Clear and consistent typography improves accessibility, creates a visual hierarchy, and gives your website a professional feel. Without it, even the best design can look unpolished.</p>
<h2>Mobile-First Typography</h2>
<p>Starting with smaller, readable text for mobile and scaling up for desktops ensures your content looks great on any device. This approach is part of mobile-first design and theming.</p>
</div>
</body>
</html>
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Practical Frontend
3Темизация и визуальные стили
Темизация в CSSОсновы темного и светлого режимовАкцентные цвета и выделениеТемизация типографикиИтоговое испытание