Выровнять текст в HTML / XHTML TextArea

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

text-align: justify;

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

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
15
0
32 626
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

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

Я согласен, но клиент хочет, чтобы это было частью дизайна, поэтому, к сожалению, это не подходит для ситуации. Спасибо хоть.

Matt 09.01.2009 07:27

Тогда я думаю, что простой ответ - НЕТ. Поиск в Google по запросу «выравнивание текстового поля» показывает множество похожих вопросов без какого-либо полезного решения, за исключением, возможно, замены TEXTAREA виджетом Rich Text.

Ken Paul 09.01.2009 07:32

Это то, что я придумал, прежде чем, к сожалению, спросить здесь. Спасибо за вашу помощь.

Matt 11.01.2009 09:24
Ответ принят как подходящий

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

Это то, что я нашел, просматривая результаты поиска Google, просто надеясь, что кто-то здесь может знать что-то, что я мог пропустить. Спасибо.

Matt 09.01.2009 07:28

См. Также ответ это.

Paolo Gibellini 29.02.2016 02:38

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

<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>

действительно есть такая проблема с <textarea>

ArBR 22.06.2011 20:23

очень странно, как это работает, когда весь код текстового поля находится в одной строке! ужасно отлаживать! спасибо репутация ++

cwiggo 30.04.2013 19:50

дорогие друзья ... вы проверяли это перед тем, как комментировать !!! У меня не работает в HTML5

Mahdi Jazini 25.12.2016 20:33

В моем случае сработало использование обычного div с contenteditable = "true". Однако не работает для большинства мобильных браузеров.

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

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

Помимо установки text-align: justify, вы также должны установить white-space: normal.

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

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

Однако добавление "white-space: normal" заставляет IE вставлять пробелы вместо новых строк при нажатии клавиши ВВОД!

m6k 01.08.2014 23:25

Чтобы показать новые строки, вы должны использовать пробел: перед строкой;. См. Также здесь.

Paolo Gibellini 08.03.2016 16:30

Теперь он работает и без свойства white-space.

tibotka 30.11.2020 15:47

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

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

Для меня (в Firefox) этот код отлично работает:

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

Другие вопросы по теме