Warum kann ich mein div nicht auf 100 % Höhe bringen, wenn ich einen HTML5-Doctype verwende? Wie bekomme ich es 100% Höhe
Lesezeit: 6 Minuten
Grezzo
Ich arbeite daran, das Layout für eine ziemlich einfache Galerie-Webanwendung zu sortieren, aber wenn ich eine HTML5-Doctype-Deklaration verwende, wird die Höhe einiger meiner Divs (die 100 %) waren, ganz nach unten geschrumpft, und ich kann nicht scheinen zu plumpsen sie mit CSS sichern.
Wenn ich die HTML5-Doctype-Deklaration entferne, ist alles so, wie ich es haben möchte, aber ich möchte wirklich die richtige HTML5-Doctype-Deklaration verwenden.
Wenn ich den Doctype auf HTML5 setze und keine Änderungen vornehme, sind das Div mit dem Foto und die Footer-Divs nicht sichtbar, vermutlich weil sie 0px hoch sind.
Wenn ich den Doctype auf HTML5 setze und die body { height: 100px } und .container { height: 100px } oder .container { height: 100% }, wird es sichtbar, aber was ich brauche, ist die volle Höhe und nicht die Höhe in Pixeln.
Wenn ich das gleiche versuche wie oben, aber mit dem body { height: 100% } Die Foto- und Fußzeilen-Divs sind nicht wieder sichtbar.
Was muss ich tun, um die Höhe zu 100 % zu erreichen, damit meine Foto- und Fußzeilen-Divs die volle Höhe haben?
Das hat nichts mit HTML5 oder CSS3 zu tun. (Was passiert mit anderen Doctypes? Seit wann war height ein neues CSS3-Ding?)
– BoltClock
3. Juni 12 um 16:17 Uhr
Wenn Sie den Körper zu 100 % groß machen, wovon erwarten Sie dann 100 %?
– Robertc
3. Juni 12 um 16:27 Uhr
@BoltClock Danke für deinen Kommentar. Das ist ein fairer Punkt zu CSS3, ich habe dieses Tag entfernt. Ich habe keine anderen Doctypes ausprobiert, ich habe es nur ohne Doctype oder mit dem HTML5-Doctype versucht. Was hoffen Sie, aus dem Verhalten mit anderen Doctype-Deklarationen herauszufinden? Ich bin mehr als glücklich, ein paar auszuprobieren und zu berichten, bin mir aber nicht sicher, welche für einen Versuch relevant wären?
– Grezzo
3. Juni 12 um 16:28 Uhr
@robertc Ich hatte erwartet, dass es 100% des Ansichtsfensters ist, vermutlich funktioniert es so nicht, aber ich weiß nicht, wie ich diesen Effekt anders erzielen kann.
– Grezzo
3. Juni 12 um 16:29 Uhr
Hier ist eine Erklärung des DOCTYPE-Problems: stackoverflow.com/a/32215263/3597276
– Michael Benjamin
25. August 15 um 23:13 Uhr
yunzen
Nur wenn das übergeordnete Element eine definierte Höhe hat, also keinen Wert von auto. Wenn dieser 100 % hoch ist, muss auch die Höhe des Elternteils definiert werden. Das könnte bis zum gehen html Wurzelelement.
Stellen Sie also die Höhe des ein html und das body Element zu 100%, sowie jedes einzelne Vorfahrenelement dieses Elements, das Sie haben möchten 100%height an erster Stelle.
Wollen Sie damit sagen, dass es (im Standardmodus) keine Möglichkeit gibt, eine Seite auf die gleiche Höhe wie das Ansichtsfenster zu bringen (ohne Javascript zu verwenden, um eine Höhe in Einheiten statt in Prozent festzulegen)?
– Grezzo
3. Juni 12 um 16:36 Uhr
Ich sage, du kannst. Geben Sie dem HTML-Element 100 % Höhe, geben Sie dem Körperelement 100 % Höhe und so weiter mit jedem untergeordneten Element des Körpers und den untergeordneten Elementen dieses Elements, bis Sie das Element erreichen, das Sie von Anfang an zu 100 % haben möchten.
– Yunzen
3. Juni 12 um 16:39 Uhr
Das ist genau die Lösung, ich hatte keine Ahnung, dass Sie CSS auf das HTML-Element anwenden können. Schön!
Ich steckte in einem ähnlichen Problem fest, um eine Leinwand zu bemessen, also habe ich Folgendes getan und perfekt funktioniert.
Abgesehen davon, dass:
body{ width: 100%; height: 100%;}
Stellen Sie das gewünschte Element wie folgt ein:
.desired-element{ width: 100vw; height: 100vh}
Auf diese Weise haben Sie garantiert 100 % des Sichtfensters in Breite und Höhe. vw steht für Ansichtsbreite und vh steht für Ansichtshöhe
Ich hoffe, das hilft jemandem
Wenn Viewport-Einheiten verwendet werden, muss keine Höhe für andere Elemente festgelegt werden, in diesem Fall die body.
– Asons
29. Dezember 18 um 21:31 Uhr
In meinem Fall nahm Ag-Grid keine Höhe auf % so angewandte Höhe in vh, super und einfach. Hier wird gearbeitet <ag-grid-angular style="width: 100%; height: 76vh;"></ag-grid-angular> . Das ist nicht relevant, aber hilfreich für mich.
– SUDARSHAN BHALERAO
26. Juni 19 um 11:33 Uhr
Hallo, gut zu wissen, dass es dir irgendwie geholfen hat, entschuldige die schlechte Antwort, ich versuche mein Bestes. Seit dieser Antwort habe ich mehr Erfahrung in der Positionierung von Canvas gesammelt und einige Best Practices erhalten. Setzen Sie die Leinwand immer auf {position: absolute} und werfen Sie sie mit dem Z-Index hinter alles andere, wenn Sie möchten, dass sie Ihr Hintergrund ist.
– Nikolaus Fernandes Paolillo
28. Juni 19 um 19:20 Uhr
.
6249500cookie-checkWarum kann ich mein div nicht auf 100 % Höhe bringen, wenn ich einen HTML5-Doctype verwende? Wie bekomme ich es 100% Höheyes
Das hat nichts mit HTML5 oder CSS3 zu tun. (Was passiert mit anderen Doctypes? Seit wann war
height
ein neues CSS3-Ding?)– BoltClock
3. Juni 12 um 16:17 Uhr
Wenn Sie den Körper zu 100 % groß machen, wovon erwarten Sie dann 100 %?
– Robertc
3. Juni 12 um 16:27 Uhr
@BoltClock Danke für deinen Kommentar. Das ist ein fairer Punkt zu CSS3, ich habe dieses Tag entfernt. Ich habe keine anderen Doctypes ausprobiert, ich habe es nur ohne Doctype oder mit dem HTML5-Doctype versucht. Was hoffen Sie, aus dem Verhalten mit anderen Doctype-Deklarationen herauszufinden? Ich bin mehr als glücklich, ein paar auszuprobieren und zu berichten, bin mir aber nicht sicher, welche für einen Versuch relevant wären?
– Grezzo
3. Juni 12 um 16:28 Uhr
@robertc Ich hatte erwartet, dass es 100% des Ansichtsfensters ist, vermutlich funktioniert es so nicht, aber ich weiß nicht, wie ich diesen Effekt anders erzielen kann.
– Grezzo
3. Juni 12 um 16:29 Uhr
Hier ist eine Erklärung des DOCTYPE-Problems: stackoverflow.com/a/32215263/3597276
– Michael Benjamin
25. August 15 um 23:13 Uhr