Jedes Mal, wenn ich ein neues Formular entwickle, das a enthält, habe textarea
ich das folgende Dilemma, wenn ich seine Dimensionen angeben muss:
Verwenden Sie CSS oder verwenden Sie die textarea
Attribute cols
undrows
?
Was sind die Vor- und Nachteile jeder Methode?
Was ist die Semantik der Verwendung dieser Attribute?
Wie wird es normalerweise gemacht?
line-height
der Höhe Ihres Textbereichs.Dadurch wird der Browser veranlasst, die Höhe des Textbereichs genau auf die Anzahl der Zeilen plus die Auffüllungen um ihn herum einzustellen. Wenn Sie die CSS-Höhe auf eine exakte Anzahl von Pixeln einstellen, bleiben beliebige Leerzeichen übrig.
quelle
height: auto;
in CSS scheint meinen Textbereich überhaupt nicht zu beeinflussen.Laut w3c sind sowohl Spalten als auch Zeilen erforderliche Attribute für Textbereiche. Zeilen und Spalten sind die Anzahl der Zeichen, die in den Textbereich passen, anstatt in Pixel oder einen anderen potenziell willkürlichen Wert. Gehen Sie mit den Zeilen / Spalten.
quelle
Die Antwort ist ja". Das heißt, Sie sollten beide verwenden. Ohne Zeilen und Spalten (und es gibt Standardwerte, auch wenn Sie diese nicht explizit verwenden) ist der Textbereich ungewöhnlich klein, wenn CSS durch ein Benutzer-Stylesheet deaktiviert oder überschrieben wird. Denken Sie immer an die Barrierefreiheit. Wenn Ihr Stylesheet jedoch das Erscheinungsbild des Textbereichs steuern darf, erhalten Sie im Allgemeinen etwas, das viel besser aussieht, sich gut in das gesamte Seitendesign einfügt und dessen Größe geändert werden kann, um mit den Benutzereingaben Schritt zu halten ( natürlich im Rahmen des guten Geschmacks).
quelle
Für den Textbereich können wir unten CSS verwenden, um die Größe festzulegen
Getestet in Angularjs und Angular7
quelle
quelle
Die Größe eines Textbereichs kann durch die Spalten- und Zeilenattribute oder noch besser angegeben werden. durch die Höhen- und Breiteneigenschaften von CSS. Das Attribut cols wird in allen gängigen Browsern unterstützt. Ein Hauptunterschied besteht darin, dass
<TEXTAREA ...>
es sich um ein Container-Tag handelt: Es hat ein Start-Tag ().quelle
Ich spezifiziere normalerweise nicht
height
, aber spezifizierewidth: ...
undrows
undcols
.Normalerweise nur in meinen Fällen
width
undrows
werden benötigt, damit der Textbereich im Verhältnis zu anderen Elementen gut aussieht. (Undcols
ist ein Fallback, wenn jemand kein CSS verwendet, wie in den anderen Antworten erläutert.)((Beides angeben
rows
undheight
ein bisschen wie das Duplizieren von Daten, denke ich?))quelle
Ein Hauptmerkmal von Textbereichen ist, dass sie erweiterbar sind. Auf einer Webseite kann dies dazu führen, dass im Textbereich Bildlaufleisten angezeigt werden, wenn die Textlänge den von Ihnen festgelegten Bereich überfüllt (z. B. mithilfe von Zeilen oder mithilfe von CSS). Dies kann ein Problem sein, wenn sich ein Benutzer zum Drucken entscheidet, insbesondere mit 'Drucken' in PDF - Stellen Sie daher eine angenehm große Mindesthöhe für gedruckte Textbereiche mit einer bedingten CSS-Regel ein:
quelle
Wenn Sie nicht jedes Mal verwenden, verwenden Sie die Zeilenhöhe: '..'; Eigenschaft seine Steuerung der Höhe des Textbereichs und der Eigenschaft width für die Breite des Textbereichs.
oder Sie können die Schriftgröße verwenden, indem Sie CSS folgendermaßen verwenden:
quelle
HTML-Zeilen und Spalten reagieren nicht!
Also definiere ich die Größe in CSS. Als Tipp: Wenn Sie eine kleine Größe für Mobiltelefone definieren, denken Sie über die Verwendung nach
textarea:focus {};
Fügen Sie hier zusätzlichen Platz hinzu, der sich erst dann entfaltet, wenn ein Benutzer tatsächlich etwas schreiben möchte
quelle
CSS
HTML
quelle