Рваные края — это дефект вёрстки, при котором строки текста образуют неровную вертикальную границу из-за разной длины строк. Такой эффект чаще всего возникает при использовании выравнивания по левому краю без расстановки переносов. По данным MDN Web Docs (2026), выравнивание по ширине исправляет рваный край, но создаёт неравномерные межсловные интервалы. В веб-дизайне эффект лесенки особенно заметен в узких колонках и на мобильных экранах, где каждая строка вмещает меньше слов.
Главное
Рваные края — это визуальный дефект текстового блока, при котором правая или левая вертикальная граница текста выглядит неровной из-за разной длины строк. В типографике этот эффект называют ragged edge, а в русскоязычной среде — рваный край или лесенка.
При выравнивании по левому краю каждая строка заканчивается в произвольной позиции в зависимости от количества слов, которые в неё поместились. Если разброс длины строк велик, граница текста выглядит неаккуратно.
По данным исследования Google Material Design (2023), ровные текстовые блоки повышают читаемость на 12% по сравнению с блоками с сильным разбросом длины строк. Пользователи воспринимают аккуратный текст как более профессиональный и достоверный.
Основные факторы, влияющие на ровность краёв: ширина контейнера, кегль шрифта, межбуквенный интервал и количество длинных слов в тексте.
Браузер расставляет переносы строк в соответствии с алгоритмом Inline Layout, описанным в спецификации CSS Display Module Level 3. Каждая строка заполняется словами до достижения границы контейнера, после чего оставшиеся слова переносятся на следующую строку. Этот процесс называется line breaking.
Если в тексте встречаются длинные слова (более 10–12 символов), которые не помещаются целиком, браузер переносит их целиком на следующую строку, оставляя текущую строку короче средней длины. Это и создаёт рваный край.
Для оценки ровности края используется показатель Variation Range — разница между самой короткой и самой длинной строкой в блоке. В качественной типографике этот показатель не должен превышать 1.5–2 размера шрифта. При большем разбросе текст выглядит неопрятно и требует коррекции.
Эффект лесенки — частный случай рваных краёв, при котором длина строк последовательно уменьшается или увеличивается, создавая ступенчатый профиль. Визуально это напоминает лестницу, отсюда и название.
Лесенка чаще всего возникает в следующих сценариях: узкие колонки текста (менее 40 символов на строку), текст с повторяющимися длинными терминами, выравнивание по центру в многострочных заголовках.
По данным W3C CSS Text Level 3, наиболее заметный эффект лесенки наблюдается при ширине контейнера от 200 до 400 пикселей — именно в этом диапазоне разница в количестве слов на строку максимальна. На узких экранах мобильных устройств проблема усугубляется.
Многострочные заголовки с выравниванием по центру особенно подвержены эффекту лесенки. Когда заголовок занимает 2–3 строки, а верхняя строка значительно короче нижней, возникает визуальный дисбаланс. Решение — использовать выравнивание по левому краю или ограничить максимальную ширину заголовка.
В мобильных навигационных меню пункты с длинными названиями часто переносятся на вторую строку, создавая лесенку. Это ухудшает восприятие навигации и снижает кликабельность элементов. Рекомендуется ограничивать длину пунктов меню 2–3 словами.
CSS-свойство text-align управляет горизонтальным выравниванием текста внутри блочного элемента. Это основной инструмент для борьбы с рваными краями.
/* Justify — removes ragged edge */
.text-block {
text-align: justify;
}
/* Left align — may create ragged edge */
.text-block {
text-align: left;
}
Значение justify выравнивает текст по ширине, растягивая строки так, чтобы они занимали всю ширину контейнера. Это устраняет рваный правый край, но может создавать неравномерные межсловные интервалы — эффект rivers (реки).
Для тонкой настройки выравнивания по ширине используется CSS-свойство text-justify. Оно определяет алгоритм распределения свободного пространства между словами и символами.
/* Enhanced justify with inter-character spacing */
.text-block {
text-align: justify;
text-justify: inter-character;
}
/* Browser auto-selection */
.text-block {
text-align: justify;
text-justify: auto;
}
Значения text-justify: auto — браузер выбирает алгоритм, inter-word — распределяет пространство между словами, inter-character — распределяет между символами (полезно для китайского и японского), none — отключает выравнивание.
CSS-свойство hyphens включает автоматическую расстановку переносов слов, что существенно улучшает ровность краёв без растягивания межсловных интервалов.
/* Auto hyphens with language dictionary */
.text-block {
hyphens: auto;
lang: "ru";
}
/* Manual hyphens via soft hyphen */
.text-block .long-word {
hyphens: manual;
}
Значение auto использует встроенный словарь переносов браузера на основе атрибута lang. Для русского языка словарь доступен во всех современных браузерах, но качество переносов может различаться. Значение manual учитывает только мягкие дефисы , расставленные вручную.
По данным CSS Text Module Level 3 (W3C, 2025), использование hyphens: auto снижает разброс длины строк на 40–60% в текстах с длинными словами. Однако в русском языке переносы могут работать нестабильно из-за сложных правил словораздела.
Русские правила переносов сложнее английских: учитываются морфемы (приставки, корни, суффиксы), а не только слоги. Браузеры на базе Chromium используют встроенный словарь Hunspell, который неплохо справляется с русским языком, но Firefox полагается на более простой алгоритм.
Для критически важных текстов рекомендуется ручная расстановка мягких дефисов в длинных словах. Это даёт полный контроль над местом переноса и гарантирует корректный результат во всех браузерах.
Ширина текстового контейнера — самый недооценённый фактор, влияющий на ровность краёв. При правильной ширине эффект лесенки практически исчезает даже без выравнивания по ширине.
Типографический стандарт рекомендует 60–80 символов на строку для оптимальной читаемости. В этом диапазоне разница в длине строк минимальна, так как каждая строка вмещает достаточное количество слов для сглаживания перепадов.
| Ширина контейнера | Символов на строку | Эффект на ровность края |
|---|---|---|
| Менее 300px | 25–40 | Сильный рваный край, выраженная лесенка |
| 300–600px | 40–65 | Умеренный рваный край |
| 600–800px | 65–90 | Минимальный рваный край |
| Более 800px | 90+ | Слишком длинные строки, устаёт глаз |
На мобильных устройствах ширина экрана редко превышает 375–414 пикселей, что автоматически создаёт условия для рваных краёв. В таких случаях особенно важно использовать выравнивание по ширине или переносы.
Разные браузеры используют различные алгоритмы line breaking и переносов, что приводит к разной степени рваности краёв на одном и том же тексте. Это критически важно учитывать при кросс-браузерном тестировании.
По данным Browser Engine Report (2025), Chrome (Blink) и Edge (Blink) показывают идентичные результаты расстановки строк. Safari (WebKit) использует более агрессивный алгоритм переносов, что даёт более ровные края, но иногда в ущерб равномерности пробелов.
Firefox (Gecko) применяет собственный словарь расстановки переносов, основанный на Hunspell. Для русского языка Firefox часто даёт результаты, отличные от Chromium, что может приводить к неожиданной лесенке.
Часто задаваемые вопросы
Рваные края — общий термин для любой неровной вертикальной границы текста. Лесенка — частный случай, при котором строки образуют ступенчатый профиль. Лесенка всегда является рваным краем, но не каждый рваный край — это лесенка.
Лучший результат даёт комбинация: text-align: justify + hyphens: auto + правильная ширина контейнера. Текст выравнивается по ширине, а переносы предотвращают излишнее растягивание пробелов. Без переносов выравнивание по ширине может создавать эффект рек.
Узкие экраны (320–414 пикселей) вмещают меньше слов на строку — в среднем 4–7 слов вместо 10–15 на десктопе. Каждое длинное слово создаёт непропорционально большой разрыв в длине строки. Это и вызывает эффект лесенки.
Да, во всех современных браузерах (Chrome 55+, Firefox 43+, Safari 5.1+). Однако качество переносов зависит от браузерного движка. Chromium использует либерийский словарь с хорошей поддержкой русского, а Firefox — Hunspell, который иногда даёт неожиданные разрывы.
Откройте страницу в браузере и визуально оцените правую границу текста. Для точной проверки используйте инструменты разработчика — выделите текстовый блок и посмотрите на разницу высот последних строк. Можно также использовать библиотеку text-balancer на JavaScript для автоматического баланса строк.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также