2009-08-31 13 views
5

Czy właściwość CSS 'width' dotyczy <textarea>?Czy "szerokość" dotyczy obszaru tekstowego?

W praktyce, people say that they use it successfully, na przykład stosując regułę tak:

textarea 
{ 
    width:100%; 
} 

Co mylące mnie jest to, że CSS 2.1 specification for width mówi

Ta właściwość określa zawartość szerokość pól generowanych przez elementy blokowe i wymienione. Ta właściwość nie ma zastosowania do niezastępowanych elementów śródliniowych.

Pomyślałem, że obszar tekstowy jest elementem śródliniowym, ponieważ np. markup tak ...

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

... tworzy pojedynczy blok akapitu z tekstem po lewej i prawej stronie <textarea>, a zatem zgodnie z spec szerokość nie powinna być stosowana.

Odpowiedz

6

Textarea jest elementem liniowym ... zastąpiony elementem liniowym (otrzymujesz kontrolę formularza, a nie prostą zawartość elementu).

Spec wyklucza niezastąpione elementy śródliniowe, ale textarea nie jest jedną z nich.

+0

Dziękuję, że to wyjaśniasz. – ChrisW

-1

należy użyć właściwości "cols", aby ustawić szerokość obszaru tekstowego.

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

+2

Nie. Powinieneś podać liczbę colów, ale jeśli naprawdę chcesz ustawić szerokość, to CSS jest znacznie bardziej elastyczny. (I unikaj W3Schools, jest podatny na błędy). – Quentin

+0

Yuck, W3Schools –

0

szerokość nie jest dopuszczalnym cechą elementu tekstowym. Rozmiar obszaru tekstowego można określić za pomocą atrybutów cols i rows, ale można go lepiej kontrolować za pomocą właściwości CSS height i width.

Powiązane problemy