Gibt es eine einfache Möglichkeit, die Höhe einer Füllung auf die Höhe der Seite zu bringen?Machen Sie einen TextArea füllen Sie den Rest der Seite vertikal?
Antwort
Ich denke, es ist wichtig zu verstehen, dass die Einstellung height: 100%
für eine Textarea funktioniert nur in IE, wenn Sie explizit auf Quirks-Modus festlegen, obwohl es wie erwartet in Firefox funktioniert. Das W3C stellt fest, dass die Größe eines Textfeldes in Reihen definiert ist, anstatt Pixel usw.
unten Dargestellt ist eine einfache Möglichkeit, um sicherzustellen, dass die Größe der Textarea immer die gesamte Körperhöhe einnimmt, unter Berücksichtigung die Godillions von Benutzer installierten Symbolleisten, etc., Bildschirmauflösungen variieren und möglicherweise sogar Fenster in der Größe geändert. Der Schlüssel ist die einfache JS-Methode und ihre Platzierung. Das Formular dient nur dazu, normale Textfelder und Etiketten zu simulieren.
<html>
<head runat="server"><title>Look, Mom! No Scrollbars!</title></head>
<body onload="resizeTextArea()" onresize="resizeTextArea()">
<form id="form1" runat="server">
<div id="formWrapper" style="height:200px">
<input type="text" value="test" />
<input type="text" value="test" />
</div>
<textarea id="area" style="width: 100%"></textarea>
</form>
<script type="text/javascript">
function resizeTextArea() {
//Wrap your form contents in a div and get its offset height
var heightOfForm = document.getElementById('formWrapper').offsetHeight;
//Get height of body (accounting for user-installed toolbars)
var heightOfBody = document.body.clientHeight;
var buffer = 35; //Accounts for misc. padding, etc.
//Set the height of the textarea dynamically
document.getElementById('area').style.height =
(heightOfBody - heightOfForm) - buffer;
//NOTE: For extra panache, add onresize="resizeTextArea()" to the body
}
</script>
</body>
</html>
Kopieren Sie es und fügen Sie es in eine neue Seite ein. Es funktioniert sowohl in FF als auch in IE.
Hoffe, das hilft!
Hier ist [die W3C-Spezifikation für das 'textarea'-Element] (http://www.w3.org/TR/html5/the-textarea-element.html#the-textarea-element). Ich sehe nicht, wo es heißt, dass die Größe einer Textfläche in Zeilen * und nicht in Pixeln definiert ist, also verstehe ich nicht, was Sie damit meinen. Ja, es beginnt so groß wie eine bestimmte Anzahl von Zeilen, dank des Attributs 'rows', aber danach können Sie ihm die gewünschte Höhe geben, zum Beispiel mit dem CSS '#area {height: 100px; } '. –
[JS Bin dieser Antwort] (http://jsbin.com/ugosup/1/edit). Sowohl in Firefox als auch in Chrome funktioniert es für mich in der [Codeansicht] (http://jsbin.com/ugosup/1/edit), schlägt aber in der [ganzseitigen Ansicht] fehl (http://jsbin.com/ ugosup/1). –
- 1. Machen DIV den Rest der Seite vertikal füllen?
- 2. Füllen Sie Editor Textarea mit Capybara-Webkit
- 3. machen Sie den Miniaturansichtsschieberegler von vertikal nach horizontal
- 4. Machen Sie ein Bild im Container füllen Sie die Hälfte der Seite
- 5. Make Seite füllen Sie den gesamten Bildschirm ohne Leerzeichen überhaupt
- 6. Div den Rest der Seite nicht ausfüllen
- 7. Machen Sie ListView Scrollen vertikal von MouseWheel
- 8. Android - machen Sie eine Galerie vertikal scrollen
- 9. Machen Sie den Footer-Stick am unteren Rand der Seite
- 10. Wie machen Sie einen Django Rest Framework Serializer bidirektionalen
- 11. Wie Auto.js Textarea Höhe automatisch anpassen, um den Rest des Bildschirms zu füllen?
- 12. Machen Sie eine Bildunterschriften Seite
- 13. Machen Sie statische Seite Responsive
- 14. Richten Sie einen Stern vertikal in der Mitte auf einen Textbereich aus
- 15. So füllen Sie ein Bild mit der Seite
- 16. Markieren Sie den Text, während Sie auf textarea tippen
- 17. GridStack.js - Platzieren Sie einige Elemente an bestimmten Orten, während Sie den Rest mit Füllelementen füllen
- 18. Zentrieren Sie scrollview vertikal, wenn wenige Elemente und füllen Sie übergeordnete wenn viele
- 19. Rpresentation in Rstudio - Machen Sie Bild füllen Sie den gesamten Bildschirm
- 20. Machen Sie einen Screenshot der spezifischen Anwendung
- 21. Füllen Sie eindeutige ID in Django Rest Framework
- 22. JavaFX - Machen Sie TextArea- mit Textheight wachsen (Zeilen/Linien)
- 23. Wie Text vertikal in Textarea zentriert?
- 24. Bootstrap - füllen Sie den verbleibenden vertikalen Platz
- 25. Machen Sie einen Datenrahmen mit str.count() über den Index
- 26. Wie kann ich einen TextArea-Bereich erweitern, um den Inhalt zu füllen und den übergeordneten Bereich zu erweitern?
- 27. Machen Sie einen .row Bootstrap's Affix
- 28. machen Sie Textarea sichtbar oben auf alle anderen Textinput
- 29. Wie kann Textarea die Breite der Elternbreite füllen?
- 30. Machen Sie einen Android-Countdown
[notepad.cc] (http://notepad.cc/) demonstriert diesen Effekt - Sie können versuchen, herauszufinden, wie sie es tun. Ihre Methode ändert die Größe der Textfläche, wenn das Fenster in der Größe geändert wird, und funktioniert sogar, wenn JavaScript deaktiviert ist. Ich bin mir nicht sicher, ob es darauf ankommt, die Höhe des Inhalts über und unter dem Textfeld zu kennen. –