Выравнивания текста в HTML/textarea в формате XHTML

в настоящее время я пытаюсь оправдать текст в текстовом поле, к сожалению, CSS:

text-align: justify;

Не работает над текстом, как в центре, слева и справа. Я пробовал это как в Firefox 3, так и в IE 7 без везения.

есть ли способ обойти это?

7 ответов


Я не думаю, что это возможно в HTML-элемент textarea. возможно, вы сможете использовать какой-то редактор wysiwyg (редактируемый div). то есть. fckeditor


Я занимался той же проблемой и нашел очень глупое решение. Убедитесь, что отображаемый текст попадает в начальный и конечный элементы тега в одной строке, а не в следующую строку

<textarea  name="description" readonly="readonly" rows="4" cols="66">Text aligned toward left</textarea>

, а не как

<textarea  name="description" readonly="readonly" rows="4" cols="66">
Text aligned toward left
</textarea>

в зависимости от вашего целевого браузера... это решение работает в Chrome. Однако он не работает в Firefox... но я все равно отправлю.

в дополнение к настройке выравнивания текста: justify необходимо также установить пробел: normal.

    textarea {
        text-align: justify;
        white-space: normal;
    }

JSFIDDLE:http://jsfiddle.net/cb5JN/


Я считаю, что обычной практикой является использование TEXTAREA для ввода, не беспокоясь об обосновании; а затем, как только ввод обрабатывается (т. е. FORM отправляется, или событие TEXTAREA захватывается), содержимое отображается в не редактируемом текстовом элементе (например,P, SPAN, TD), где text-align: justify; атрибут style будет заслуженный.


для меня (в Firefox), этот код прекрасно работает:

textarea{
    resize: none;
    text-align: justify;
    white-space: pre-line;
    -moz-text-align-last: left;
    text-align-last: left;
}

через обычный div с contenteditable="true" работала в моем случае. Не работает для большинства мобильных браузеров, хотя.

<div contenteditable="true">Some content</div>

Он отлично работает на Chrome, но не на IE.

текст присоединяются: оправдать; белый-пространство: нормальный;