Применима ли «ширина» к текстовой области?

Применимо ли свойство CSS 'width' к <textarea>?

На практике люди говорят, что успешно используют его, например, используя такое правило:

textarea
{
    width:100%;
}

Что меня смущает, так это то, что спецификация CSS 2.1 для ширины говорит,

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

Я думал, что textarea является элементом встроенного уровня, потому что, например. разметка такая...

<p>
This is some more text:
<textarea name="mytextarea" rows="3" cols="15">Text in the text area</textarea>
And even more, more text.
</p>

... создает один блок абзаца с текстом слева и справа от <textarea>, и поэтому в соответствии со спецификацией ширина не должна применяться.


person ChrisW    schedule 31.08.2009    source источник


Ответы (3)


Textarea — это встроенный элемент уровня… заменяемый встроенный элемент (вы получаете элемент управления формой, а не простое содержимое элемента).

Спецификация исключает незаменяемые встроенные элементы, но textarea не входит в их число.

person Quentin    schedule 31.08.2009

Ширина не является допустимым атрибутом элемента textarea. Размер текстовой области можно указать с помощью атрибутов cols и rows, хотя его лучше контролировать с помощью свойств высоты и ширины CSS.

person superUntitled    schedule 31.08.2009

вы должны использовать свойство «cols», чтобы установить ширину текстовой области.

http://www.w3schools.com/TAGS/tag_textarea.asp

person GSto    schedule 31.08.2009
comment
Нет. Вы должны указать количество столбцов, но если вы действительно хотите установить ширину, то CSS гораздо более гибок. (И избегайте W3Schools, это чревато ошибками). - person Quentin; 31.08.2009