HTML - Как разделить абзац на строки одинаковой ширины?

Речь идет о базовом рендеринге страницы HTML+CSS.

Когда абзац слишком длинный и не помещается в одну строку, он занимает столько места, сколько может, затем переносится, и так далее, и так далее.

Я хотел бы, чтобы перенос строк моей веб-страницы происходил так, чтобы результирующие строки были как можно более одинаковыми.

Итак, вместо получения:

обернуть обернуть обернуть обернуть обернуть обернуть

обернуть обернуть обернуть обернуть обернуть обернуть

обернуть обернуть обернуть обернуть обернуть обернуть

сворачивать

с очень короткой последней строкой я бы получил:

обернуть обернуть обернуть обернуть

обернуть обернуть обернуть обернуть

обернуть обернуть обернуть обернуть

обернуть обернуть обернуть обернуть

с более сбалансированными линиями. Это было бы полезно, например, для цитат, выровненных по правому краю, которые могут быть или не быть обернуты, но выглядят уродливо, когда обернуты совсем немного.

Итак, я ищу команду HTML/CSS, которая сообщает браузерам сделать это.

Примечание: я не ищу, чтобы текст был выровнен по ширине. Мне нужно, чтобы строки были обернуты таким образом, чтобы они имели примерно одинаковый размер, а не последний был намного короче.

Является ли это возможным?


person user334639    schedule 09.08.2011    source источник
comment
Где вы хотите это сделать? В командной строке? В существующий файл? Чтобы отправить текст из программы? Если последний, на каком языке (C#, Java, Php...) и на какой платформе вы работаете (WinXP, Win7, Unix, Linix, MacOS...). Спасибо.   -  person Binary Worrier    schedule 09.08.2011
comment
Прости. Это просто HTML. Я отредактировал вопрос, чтобы указать это.   -  person user334639    schedule 09.08.2011
comment
Это было бы круто, но я подозреваю, что потребуется javascript. Возможно, процедура, которая увеличивает отступ содержащего элемента на 10 пикселей за раз, пока высота не увеличится, и в этот момент она выберет предыдущую ширину. Это должно было бы переоценивать после каждого изменения размера страницы. Интересно, что у меня такая же потребность, чтобы цитаты выглядели более сбалансированными.   -  person AnthonyVO    schedule 10.05.2019
comment
@AnthonyVO хорошая идея! Не могли бы вы опубликовать свое решение здесь, если вы его реализуете?   -  person user334639    schedule 12.05.2019
comment
Это действительно хороший вопрос! У меня есть эта проблема для заголовка на странице, который иногда бывает достаточно широким, чтобы слова переносились на следующую строку, и было бы намного лучше, если бы он был сбалансирован, а не просто одно слово во 2-й строке. Это действительно должна быть опция CSS.   -  person JoLoCo    schedule 11.07.2020
comment
Кроме того, этот вопрос был задан (с некоторыми разумными ответами) здесь: stackoverflow.com/questions/2908697/   -  person JoLoCo    schedule 11.07.2020


Ответы (2)


Вы можете попробовать fmt или par:

fmt -w 80 input.txt

or

par 80jl < input.txt

Другой вариант — использовать justify.vim Vim. сценарий.

person splicer    schedule 09.08.2011
comment
Прости. Это просто HTML. Я отредактировал вопрос, чтобы указать это. - person user334639; 09.08.2011

Попробуйте следующий оператор css: text-align:justify;

или ознакомьтесь с различными вариантами в действии здесь.

person Jonas    schedule 09.08.2011
comment
Спасибо, но... Я не ищу оправдания текста. Мне нужно, чтобы строки были обернуты таким образом, чтобы они имели примерно одинаковый размер, а не последний был намного короче. - person user334639; 09.08.2011