Подтвердить что ты не робот

Среднее (вертикальное) выравнивание текста внутри <textarea>

Это многострочный поисковый ящик, поэтому я хочу, чтобы все было выровнено посередине. Возможно ли это?

4b9b3361

Ответ 1

В те дни, когда я спрашивал об этом, я попытался добиться этого с помощью textarea, что невозможно без создания сценариев. Ответ заключался в добавлении HTML5 contenteditable = "true" в ячейку таблицы со стилем = "vertical-align: middle". Если один проект позволяет использовать современный HTML, это довольно простое и эффективное решение.

Если вместо добавления <table> и <tr> и <td> к вашей разметке вам нужно что-то регулярное, как <div>, вам все равно потребуется два из них:

<div style="display: table">
  <div 
    style="display: table-cell; vertical-align: middle"
    contenteditable="true">
    I am vertically aligned
  </div>
</div>

Ответ 2

Вы можете подделать его с помощью вертикальной прокладки.

textarea {
    padding: 30px 0;
}

Как правило, вы можете использовать свойство line-height, но не можете иметь более одной строки текста.

Ответ 4

Возможно, вы сможете создать script, который определяет высоту элементов, высоту строки и строки текста и вычисляет верхнюю часть дополнения или даже \n для добавления текста.

Я не думаю, что это возможно только с CSS.