2009-08-31 8 views
5

Ist die CSS 'width' Eigenschaft auf eine <textarea> anwendbar?Ist 'Breite' für einen Textbereich anwendbar?

In der Praxis people say that they use it successfully, zum Beispiel eine Regel wie folgt aus:

textarea 
{ 
    width:100%; 
} 

Was mich ist verwirrend ist, dass die CSS 2.1 specification for width sagt,

Diese Eigenschaft gibt den Inhalt Breite der Boxen erzeugt durch Elemente auf Blockebene und ersetzte Elemente. Diese Eigenschaft gilt nicht für nicht ersetzte Inline-Level-Elemente.

Ich dachte, dass ein Textarea ein Inline-Level-Element ist, weil z. Auszeichnungs so ...

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

... schafft einen einzelnen Absatz Block mit Text links und rechts neben der <textarea>, und dass daher nach der Spezifikation der Breite sollte nicht anwendbar sein.

Antwort

6

Textarea ist ein Inline-Level-Element ... ein ersetzt Inline-Element (Sie erhalten eine Formularsteuerung, nicht den einfachen Inhalt des Elements).

Die Spezifikation schließt nicht ersetzte Inline-Elemente aus, aber Textarea gehört nicht dazu.

+0

Danke, das zu erklären. – ChrisW

-1

sollten Sie die Eigenschaft 'cols' verwenden, um die Breite des Textfelds festzulegen.

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

+2

Nein. Sie sollten die Anzahl der Spalten angeben, aber wenn Sie die Breite wirklich festlegen möchten, ist CSS viel flexibler. (Und W3Schools vermeiden, ist es fehleranfällig). – Quentin

+0

Yuck, W3Schulen –

0

Breite ist keine akzeptable Attribut des TextArea- Elements. Die Größe einer Textfläche kann durch die Attribute cols und rows angegeben werden, obwohl sie besser über die CSS-Eigenschaften height und width gesteuert werden kann.

Verwandte Themen