Textarea resize

7

Ich brauche ein Textfeld, um etwas Text zu zeigen. Das Problem ist, dass wenn ich 4-5 Zeilen Text platziere, eine Bildlaufleiste erscheint. Wie kann ich CSS / HTML verwenden, so dass der Textbereich so groß ist wie sein Inhalt (keine Bildlaufleiste).

  • Die Textfläche muss ihre Größe nicht dynamisch ändern, ich benutze sie nur, um einen Text anzuzeigen (ich könnte auch eine deaktivierte Textfläche verwenden)

  • Ich möchte, dass das Textfeld nur vertikal verläuft.

Wenn Sie wissen wollen:
Ich verwende den Textbereich, um Text aus einer Datenbank anzuzeigen. Wenn der Textbereich (mit dem darin enthaltenen Text) erstellt wird, sollte er den gesamten Text auf einmal ohne Bildlaufleisten anzeigen.

    
Cristy 02.04.2011, 12:30
quelle

9 Antworten

5

Ich befürchte, dass Sie Javascript verwenden müssen, um die Höhe Ihres Textbereichs festzulegen. Sie können die scrollHeight -Eigenschaft verwenden, um die Gesamthöhe zu bestimmen.

Alternativ könnten Sie auch einfach ein div verwenden und das div wie ein Textfeld aussehen lassen. Das div wird automatisch wachsen und da es sowieso ein deaktiviertes Textfeld ist, brauchst du es nicht unbedingt als Textarea.

    
jeroen 02.04.2011, 12:46
quelle
12
%Vor%

Ссылка

    
Amin Rahimi 13.10.2012 17:39
quelle
5

Okay, ich habe das gerade gefunden und es funktioniert sehr gut:

%Vor%

Nun, ich sollte nicht davon ausgehen, dass Sie Javascript (aber Sie könnten) wissen.

Einfach ausführen

%Vor%

So etwas sollte funktionieren. Ich bin nicht das beste mit Javascript (nicht einmal in der Nähe, ich habe gerade neulich damit angefangen)

Das scheint etwas zu tun, was Sie wollen. Das erste Codebeispiel bezieht sich auf ein Textfeld, das sich dynamisch ändert, je nachdem, was darin enthalten ist (während der Eingabe). Es wird ein paar Änderungen brauchen, um es zu bekommen, wie Sie wollen.

    
FreeSnow 02.04.2011 12:56
quelle
1

Sie könnten die CSS-Attribute height: und width: e. G. etwas wie <textarea style="width:400px;height:300px">...</textarea> , verwende einfach die gewünschten Größen.

Wenn Sie die Bildlaufleiste unterdrücken möchten, verwenden Sie außerdem overflow:hidden .

    
addaleax 02.04.2011 12:41
quelle
1

Sie können div wie textarea verwenden. Es ist möglich wie folgt:

%Vor%     
Guwanch 02.11.2013 11:03
quelle
0

Finden Sie die Höhe der Schriftart, in der sie am wahrscheinlichsten angezeigt wird. Ich bin nicht sicher über CSS / HTML, aber Sie könnten Javascript / PHP / ASP.net verwenden, um zu bestimmen, wie groß der Text sein wird auf die Anzahl der Zeichen. Wenn Sie es in einer Schriftart mit einem festen Abstand machen, wird dies noch einfacher. Warum sollten Sie einen Textbereich verwenden, wenn Sie einfach ein Label verwenden könnten, das die gleiche Aufgabe für sich erledigt?

    
FreeSnow 02.04.2011 12:46
quelle
0

Wenn es Ihnen nichts ausmacht, JavaScript zu verwenden, können Sie den Ansatz aus einem der folgenden Artikel verwenden: Ссылка Ссылка

Aber von Ihrer Suche nehme ich an, dass Sie eine reine CSS-Lösung wollen. Dann können Sie einfach das Aussehen von Textarea nachahmen, indem Sie einfach div und folgende css verwenden (wenn Sie nur Text anzeigen möchten):

%Vor%     
Eskat0n 02.04.2011 12:49
quelle
0

Ich nehme an, dass name -Attribut nicht verwendet wird. Sie können diese Alternative (HTML5) verwenden:

Ссылка

    
Jeaf Gilbert 02.04.2011 14:11
quelle
0

Die Eigenschaft zum Ändern der Größe funktioniert in diesen Tagen:

  

Größe ändern: keine;

    
Dwayne Forde 27.01.2014 19:31
quelle

Tags und Links