Как выровнять текст по ширине в html
Выравнивание текста отвечает за его внешний вид, формирование краев абзаца. Обычно текст обрамляют тегами
или и затем применяют css свойство text-align со следующим значением:
- по левому краю — left
- по правому краю — right
- по центру — center
- по ширине — justify
Отличие между абзацем (тег
) и тегом в том, что в начале и конце параграфа появляется вертикальный отступ, чего нет в случае использования тега .
Этот текст по умолчанию займет левое вырывание class="center">Пример текста с выравниваем по центру class="right">Пример текста с выравниваем по правому краю class="justify"> Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине Пример текста с выравниваем по ширине
.center text-align: center; > .right text-align: right; > .justify text-align: justify; >
Текст по всей ширине
Для того, чтобы текст был по всей ширине, я использовал align=»justify». Всё получилось, но появился один баг: в тексте создаются большие пробелы. Как исправить?
Отслеживать
9,644 4 4 золотых знака 35 35 серебряных знаков 72 72 бронзовых знака
задан 22 дек 2016 в 6:49
Денис Павлик Денис Павлик
475 1 1 золотой знак 4 4 серебряных знака 11 11 бронзовых знаков
это не баг, это правильное выполнение свойства align=’justify’. Чтобы не было больших пробелов — нужно использовать выравнивание по какому-либо краю.
22 дек 2016 в 6:52
В Microsoft Word ведь подобных пробелов не наблюдается. Вероятно, что в HTML есть способ их устранения.
22 дек 2016 в 6:55
Попробуй поиграться с шириной контейнера в котором текст и отступами или попробуй переосмыслить текст.
22 дек 2016 в 6:56
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Используйте знаки переноса .
Сравните первый вариант (без переноса) и второй (с переносом слов)

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Отслеживать
ответ дан 22 дек 2016 в 11:05
9,720 2 2 золотых знака 17 17 серебряных знаков 49 49 бронзовых знаков
Не обманывайте себя, багом данное действие не является. Это стандартное поведение выравнивания по всей длине ( align=»justify» )

Для примера в MS Word наблюдаются такие же пробелы.
Вот пример:
Это связано с тем, что если длина слова, перенесенного на новую строку превышает допустимый размер поля, если будет помещена на предыдущую строку, то слово переносится вниз, соответственно та строка, предыдущая, она растягивается по всей длине.
Как вариант решения вам нужно либо:
- Сделать выравнивание по краю
- Подгонять текст под размер допустимого поля (если текст статический)
- Подгонять размер поля под текст (также если текст статический)
- Смириться (да, это тоже как вариант)
Отслеживать
ответ дан 22 дек 2016 в 7:04
1,435 10 10 серебряных знаков 16 16 бронзовых знаков
Я хотел попробовать разбивать длинные слова и переносить их на новую строку, используя свойство hyphens, но почему-то ничего не происходит.
22 дек 2016 в 7:12
@ДенисПавлик на сколько я знаю в актуальных версиях браузеров данные свойства не поддерживаются. Можете попробовать воспользоваться готовым решением github.com/mnater/hyphenator
22 дек 2016 в 7:17
Если смириться, как это предлагает предыдущий оратор, не вариант — есть способ немного облегчить визуальные страдания. Добиться эффекта улучшения можно при помощи отрицательного word-spacing . Для достижения более-менее приемлемого эффекта со значением придется экспериментировать.
.text, .text-alt < text-align: justify; width: 400px; >.text-alt
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, quidem assumenda consequatur fugit quas dolorem similique tempora voluptatum eum perspiciatis incidunt hic perferendis cumque repellendus eaque quisquam pariatur soluta modi velit. Reprehenderit rem recusandae nostrum placeat ratione, quia iure, voluptatem ad voluptatibus a tempore dignissimos sit quaerat, voluptates. Molestiae nostrum, inventore deleniti, aspernatur odio aut repellat vitae quaerat mollitia quos aliquid dolorum quis reprehenderit, ut consequatur repellendus quisquam ipsum dolores. Rem minima velit non, quam reiciendis! Esse minima corporis architecto id vitae fuga. Consequatur asperiores veniam commodi, velit voluptatibus obcaecati expedita ipsam quo dicta similique animi fugiat quia magni libero. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro, quidem assumenda consequatur fugit quas dolorem similique tempora voluptatum eum perspiciatis incidunt hic perferendis cumque repellendus eaque quisquam pariatur soluta modi velit. Reprehenderit rem recusandae nostrum placeat ratione, quia iure, voluptatem ad voluptatibus a tempore dignissimos sit quaerat, voluptates. Molestiae nostrum, inventore deleniti, aspernatur odio aut repellat vitae quaerat mollitia quos aliquid dolorum quis reprehenderit, ut consequatur repellendus quisquam ipsum dolores. Rem minima velit non, quam reiciendis! Esse minima corporis architecto id vitae fuga. Consequatur asperiores veniam commodi, velit voluptatibus obcaecati expedita ipsam quo dicta similique animi fugiat quia magni libero.
Первый блок текста — обычный джастифай, второй — с отрицательным ворд-спейсин.
