
Этот тренажер посвящен свойству CSS `line-height`. Вы выполните серию практических заданий, где нужно будет заполнить пропуски в CSS-коде, чтобы управлять межстрочным интервалом текста. Задания охватывают использование различных значений `line-height`: числовых (без единиц измерения), `normal`, процентных, а также применение свойства к разным элементам для достижения нужного визуального эффекта. Каждое задание сопровождается HTML-разметкой и CSS-стилями, которые вы будете модифицировать. После внесения изменений вы сможете сразу увидеть результат.
- Модуль 1: Основы CSS
- Селекторы элементов.
- Селекторы классов и идентификаторов.
- Цвет текста и фона.
- Размеры и единицы измерения в CSS.
- Семейство шрифта и базовые свойства текста.
- Стилизация текста (жирный, курсив, подчеркивание).
- Выравнивание и интервалы текста.
- Комбинированные селекторы.
- Псевдоклассы для ссылок.
- Приоритеты стилей и каскадность.
- Наследование в CSS.
- Модуль 2: Блочная модель и позиционирование
- Блочная модель CSS (box model).
- Внутренние отступы (padding).
- Внешние отступы (margin).
- Границы элементов (border).
- Сокращенная запись свойств границ.
- Радиус скругления углов (border-radius).
- Свойство display и его значения.
- Блочные элементы (display: block).
- Строчные элементы (display: inline).
- Строчно-блочные элементы (display: inline-block).
- Скрытие элементов (display: none, visibility: hidden).
- Статичное позиционирование (position: static).
- Относительное позиционирование (position: relative).
- Абсолютное позиционирование (position: absolute).
- Фиксированное позиционирование (position: fixed).
- Липкое позиционирование (position: sticky).
- Свойство z-index и порядок наложения элементов.
- Свойство float и его применение.
- Свойство clear для обтекания.
- Центрирование элементов различными способами.
- Модуль 3: Селекторы CSS продвинутый уровень
- Групповые селекторы.
- Селекторы потомков (descendant selectors).
- Дочерние селекторы (child selectors).
- Соседние селекторы (adjacent sibling selectors).
- Общие сиблинги (general sibling selectors).
- Селекторы атрибутов: точное совпадение.
- Селекторы атрибутов: частичное совпадение.
- Псевдоклассы состояний (:hover, :active, :focus, :visited).
- Псевдоклассы для форм (:checked, :disabled, :required).
- Структурные псевдоклассы (:first-child, :last-child).
- Псевдоклассы :nth-child() и :nth-of-type().
- Псевдоклассы :not() и :empty.
- Псевдоэлементы ::before и ::after.
- Псевдоэлементы ::first-letter и ::first-line.
- Псевдоэлемент ::selection.
- Псевдоэлемент ::placeholder.
- Комбинирование псевдоклассов и псевдоэлементов.
- Создание декоративных элементов с помощью псевдоэлементов.
- Модуль 4: Работа с фоном и визуальными эффектами
- Фоновый цвет (background-color).
- Фоновое изображение (background-image).
- Повторение фона (background-repeat).
- Позиционирование фона (background-position).
- Размер фона (background-size).
- Фиксация фона (background-attachment).
- Сокращенная запись свойств фона.
- Множественные фоновые изображения.
- Линейные градиенты (linear-gradient).
- Радиальные градиенты (radial-gradient).
- Конические градиенты (conic-gradient).
- Тень блока (box-shadow).
- Тень текста (text-shadow).
- Прозрачность (opacity).
- Фильтры (filter: blur, grayscale, etc.).
- Режимы смешивания (mix-blend-mode, background-blend-mode).
- Маски с mask-image.
- Формы с clip-path.
- Модуль 5: Типографика продвинутый уровень
- Межстрочное расстояние (line-height).
- Интервалы между буквами (letter-spacing).
- Интервалы между словами (word-spacing).
- Трансформация текста (text-transform).
- Декорирование текста (text-decoration).
- Перенос слов (word-break, overflow-wrap).
- Управление пробелами (white-space).
- Многоколоночный текст (columns).
- Обрезка текста (text-overflow, ellipsis).
- Вертикальное выравнивание текста (vertical-align).
- Направление текста (direction, writing-mode).
- Веб-шрифты и @font-face.
- Модуль 6: Flexbox
- Введение в Flexbox.
- Включение Flexbox (display: flex).
- Flex-контейнер и flex-direction.
- Выравнивание с justify-content.
- Выравнивание с align-items.
- Выравнивание с align-content.
- Свойство align-self для отдельных элементов.
- Свойство flex-wrap.
- Свойство flex-flow (сокращение для direction и wrap).
- Свойство flex-grow.
- Свойство flex-shrink.
- Свойство flex-basis.
- Сокращенное свойство flex.
- Порядок элементов с order.
- Сложные макеты на Flexbox.
- Вложенные flex-контейнеры.
- Создание адаптивной навигационной панели с Flexbox.
- Модуль 7: CSS Grid Layout
- Введение в Grid Layout.
- Включение Grid Layout (display: grid).
- Создание сетки: grid-template-columns.
- Создание сетки: grid-template-rows.
- Единица измерения fr.
- Функция repeat().
- Промежутки с gap, row-gap, column-gap.
- Размещение элементов: grid-column.
- Размещение элементов: grid-row.
- Сокращенная запись grid-area.
- Именованные линии и области.
- Свойство grid-template-areas.
- Автоматическое размещение элементов.
- Автоматические треки (grid-auto-rows, grid-auto-columns).
- Управление потоком элементов (grid-auto-flow).
- Выравнивание в Grid: justify-items и align-items.
- Выравнивание в Grid: justify-content и align-content.
- Выравнивание отдельного элемента (justify-self, align-self).
- Сложные макеты на Grid.
- Комбинирование Grid и Flexbox.
- Модуль 8: Трансформации и переходы
- Трансформации: translate.
- Трансформации: scale.
- Трансформации: rotate.
- Трансформации: skew.
- Комбинирование трансформаций.
- Точка трансформации с transform-origin.
- 3D-трансформации и перспектива.
- Переходы с transition-property.
- Длительность перехода с transition-duration.
- Функции плавности с transition-timing-function.
- Задержка с transition-delay.
- Сокращенное свойство transition.
- Переходы для нескольких свойств.
- Создание интерактивных элементов с переходами.
- Производительность трансформаций и переходов.
- Модуль 9: Анимации
- Создание keyframes.
- Свойство animation-name.
- Свойство animation-duration.
- Свойство animation-timing-function.
- Свойство animation-delay.
- Свойство animation-iteration-count.
- Свойство animation-direction.
- Свойство animation-fill-mode.
- Свойство animation-play-state.
- Сокращенное свойство animation.
- Множественные анимации.
- Создание сложных анимаций.
- Анимации с использованием переменных.
- Оптимизация производительности анимаций.
- Анимации и доступность.
- Модуль 10: Адаптивный дизайн
- Относительные единицы измерения (%, em, rem).
- Единицы vh и vw.
- Медиа-запросы: основы.
- Медиа-запросы: max-width и min-width.
- Медиа-запросы: ориентация устройства.
- Медиа-запросы: типы устройств и медиа-функции.
- Mobile-first подход.
- Адаптивные изображения.
- Элемент picture и атрибуты srcset/sizes.
- Адаптивная типографика.
- Адаптивная навигация.
- Адаптивные таблицы.
- Адаптивные формы.
- Отзывчивые медиа (видео, iframe).
- Тестирование адаптивности.
- Модуль 11: Формы и CSS
- Базовая стилизация input и button.
- Стилизация textarea.
- Стилизация состояний форм (:focus, :valid, :invalid).
- Стилизация placeholder.
- Кастомизация radio и checkbox с помощью CSS.
- Стилизация select и option.
- Создание кастомных выпадающих списков.
- Стилизация range input.
- Стилизация file input.
- Валидация форм и стилизация сообщений об ошибках.
- Модуль 12: Современные возможности CSS
- Переменные CSS (Custom Properties).
- Область видимости переменных.
- Функция calc().
- Свойство object-fit для изображений.
- Свойство object-position.
- Scroll Snap.
- Контейнерные запросы (Container Queries).
- Подсеточные элементы (Subgrid).
- Логические свойства (logical properties).
- CSS Houdini (введение).
- Feature Queries (@supports).
- Новые селекторы CSS (is(), where(), has()).
- Модуль 13: Практические проекты
- Создание адаптивной навигационной панели.
- Создание карточек товаров.
- Создание слайдера изображений на CSS.
- Создание табов.
- Создание дропдаун-меню.
- Создание галереи изображений с фильтрами.
- Создание анимированных иконок.
- Создание адаптивного лендинга.
- Создание тёмной темы с CSS-переменными.
- Создание анимированных кнопок.
- Создание анимированных форм.
- Создание сетки изображений с hover-эффектами.
- Создание адаптивного футера.
- Создание макета блога на CSS Grid.
- Создание адаптивного дашборда.
- Создание интерактивной формы с анимациями.
- Создание CSS-арта.
Установка межстрочного интервала без единиц измерения
Задайте межстрочный интервал для абзаца текста, используя числовое значение без единиц измерения. Это значение будет умножаться на размер шрифта элемента для определения высоты строки. Установите значение, равное 1.5.
p {
font-size: 16px;
border: 1px solid #ccc;
padding: 10px;
/* Установите межстрочный интервал равным 1.5 */
line-height: input1;
}
<p>Это пример текста в несколько строк. Ваша задача - изменить межстрочное расстояние для этого абзаца, сделав его более читаемым. Текст должен занимать несколько строк, чтобы эффект был заметен.</p>
Использование значения `normal`
Сбросьте межстрочный интервал для элемента `span` внутри абзаца к значению по умолчанию, используя ключевое слово `normal`. Родительский абзац имеет увеличенный интервал.
.parent-paragraph {
font-size: 16px;
line-height: 2; /* Увеличенный интервал */
border: 1px solid #ccc;
padding: 10px;
}
.special-span {
font-weight: bold;
background-color: #eee;
/* Установите стандартный межстрочный интервал */
line-height: input1;
}
<p class="parent-paragraph">
Этот абзац имеет увеличенный межстрочный интервал.
<span class="special-span">А эта часть текста внутри span должна иметь стандартный интервал.</span>
Продолжение текста абзаца с увеличенным интервалом.
</p>
Установка интервала в процентах
Задайте межстрочный интервал для списка `ul`, используя процентное значение. Установите интервал, равный 180% от размера шрифта элемента.
ul {
font-size: 14px;
border: 1px solid #ccc;
padding: 15px;
padding-left: 30px;
/* Установите межстрочный интервал 180% */
line-height: input1;
}
<ul>
<li>Первый пункт списка.</li>
<li>Второй пункт списка с немного большим текстом для наглядности.</li>
<li>Третий пункт списка.</li>
</ul>
Определение свойства для межстрочного интервала
Вам дан CSS-код с пропущенным названием свойства, отвечающего за межстрочный интервал. Впишите правильное название свойства, чтобы установить интервал для заголовка `h2` равным 1.4.
h2 {
font-size: 24px;
color: #333;
border-bottom: 2px solid #eee;
padding-bottom: 5px;
/* Впишите свойство для установки межстрочного интервала 1.4 */
input1: 1.4;
}
<h2>Пример заголовка H2</h2>
Глобальная установка интервала для `body`
Установите базовый межстрочный интервал для всего документа, применив его к элементу `body`. Используйте рекомендуемое числовое значение без единиц измерения, равное 1.6, для лучшей читаемости и масштабируемости.
body {
font-family: sans-serif;
font-size: 16px;
/* Установите базовый межстрочный интервал 1.6 */
input1: input2;
}
h1 {
/* Для заголовка можно задать свой интервал, но здесь он наследуется */
font-size: 28px;
}
p {
margin-bottom: 10px;
}
<body>
<h1>Заголовок страницы</h1>
<p>Это первый абзац текста. Он наследует межстрочный интервал от body.</p>
<div>
<p>Это абзац внутри div. Он также наследует интервал.</p>
</div>
</body>
Вертикальное центрирование текста
Используйте свойство `line-height`, чтобы вертикально отцентрировать одну строку текста внутри блока с фиксированной высотой. Высота блока равна 50px.
.button {
height: 50px;
width: 200px;
background-color: #4CAF50;
color: white;
text-align: center;
font-size: 16px;
border: 1px solid #3a8e40;
/* Установите свойство line-height для вертикального центрирования */
input1: 50px;
}
<div class="button">Центрированный текст</div>
Разные интервалы для заголовка и абзаца
Задайте разные межстрочные интервалы для заголовка `h3` и абзаца `p`. Для заголовка установите интервал `1.3` (без единиц), а для абзаца - `normal`.
article {
border: 1px solid #ccc;
padding: 15px;
font-size: 16px;
}
h3 {
font-size: 20px;
margin-bottom: 5px;
/* Установите интервал 1.3 для заголовка */
line-height: input1;
}
p {
/* Установите интервал normal для абзаца */
line-height: input2;
}
<article>
<h3>Заголовок статьи</h3>
<p>Это текст статьи, который должен иметь стандартный межстрочный интервал, в отличие от заголовка, у которого он будет немного плотнее. Текст занимает несколько строк.</p>
</article>