Warum nicht height: 100% Arbeit zu erweitern divs, um die Bildschirmhöhe?
Möchte ich die carousel DIV (s7) zu erweitern, um die Höhe des gesamten Bildschirms. Ich habe nicht eine Idee, warum es nicht gelingt. Um zu sehen, die Seite, die Sie gehen können,hier.
CSS:
body {
height: 100%;
color: #FFF;
font: normal 28px/28px'HelveticaWorldRegular', Helvetica, Arial, Sans-Serif;
background: #222 url('') no-repeat center center fixed;
overflow: hidden;
background-size: cover;
margin: 0;
padding: 0;
}
.holder {
height: 100%;
margin: auto;
}
#s7 {
width: 100%;
height: 100%: margin: auto;
overflow: hidden;
z-index: 1;
}
#s7 #posts {
width: 100%;
min-height: 100%;
color: #FFF;
font-size: 13px;
text-align: left;
line-height: 16px;
margin: auto;
background: #AAA;
}
HTML:
<div class="nav">
<a class="prev2" id="prev2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/ASslogxz4/left.png">
</a>
<a class="next2" id="next2" href="#">
<img src="http://static.tumblr.com/ux4v5bf/swslogxmg/right.png">
</a>
</div>
<div class="holder">
<tr>
<td>
<div id="s7">
{block:Posts}
<div id="posts">
- Hier ist eine einfache und klare Erklärung: stackoverflow.com/a/31728799/3597276
- die wahrscheinlich beste Lösung für verschachtelte Elemente, die sollten sich nicht zu Strecken, um ganze Fenster ist die Höhe, die stackoverflow.com/questions/7049875/height-100-not-working/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Damit ein prozentualer Wert, um arbeiten in der Höhe, der Eltern, die Höhe muss ermittelt werden. Die einzige Ausnahme ist die root element
<html>
, die einen prozentualen Höhe. .So, die Sie gegeben haben, alle Ihre Elemente Höhe, mit Ausnahme der
<html>
, so was sollten Sie tun ist, fügen Sie diese:Und dein code sollte funktionieren.
CSS:
HTML:
JsFiddle-Beispiel.
<html>
ist ein ist - element - genau wie<p>
oder<img />
? Ich dachte, der einzige Zweck<html>
zu bestimmen, der Anfang und das Ende eines HTML-Dokuments. Ich meine, ich dachte, es war da, nicht für layout -, aber nur, damit der browser weiß, whar Art von Dokument es ist zu suchen? Ich bin völlig Geist-geblasen.<html>
tag, und auch ohne die<head>
oder<body>
Elemente. HTML-Spezifikationen allerdings davon aus, dass die<html>
tag obligatorisch. Kurz gesagt, ja, es ist ein vollwertiges element wie alle anderen HTML-Elemente.<html>
tag ist optional, gemäß den Spezifikationen (z.B. HTML4 und HTML5). Und ja, das element wird trotzdem erstellt.<html>
start-und end-tags sind nur dann erforderlich, XHTML, wo Sie angeben müssen, all die Dinge.html
undbody
alsheight: 100%
(sowie natürlich die spezifischendiv
ich will Erben, der 100% Höhe)Da hat niemand erwähnt, dass dieses..
Modernen Ansatz:
Als alternative zur Einstellung sowohl die
html
/body
element Höhen zu100%
Sie können auch die viewport-percentage lengths:In diesem Fall können Sie den Wert verwenden, der
100vh
(welche die Höhe des Viewports) - (Beispiel)Einstellung ein
min-height
auch funktioniert. (Beispiel)Diese Einheiten werden unterstützt in den meisten modernen Browsern - Unterstützung finden Sie hier.
height: 100%
funktioniert nur, wenn das übergeordnete element hat eine definierte Höhe. Es gibt sicherlich einige Fälle, in denen ein element das Eltern nicht haben eine definierte Höhe-und viewport-percentage-Einheiten lösen, die. In anderen Worten, wenn Sie hatte eine tief verschachtelte element, Sie konnte einfach100vh
, und es würde eine Höhe von100%
des Browsers. Sie kann nicht sehen keine Vorteile, aber ich habe in zahlreichen Fällen waren Sie die einzige Lösung. Diese Einheiten können nicht als vorteilhaft für die root-Elemente wiehtml
/body
, aber trotzdem ist dies eine alternativeviewport-percentage lengths
ist irreführend. Für real, es ist nur die Größe des Viewports, also browser-Fenster-in den meisten Fällen.body { height: 100vh }
wird eine Bildlaufleiste auf der ersten Seite zu laden.Müssen Sie auch 100% Höhe auf die
html
element:Alternativ, wenn Sie
position: absolute
dannheight: 100%
gut funktionieren wird.width:100%;
und die Elternposition:relative;
.Sollten Sie versuchen, mit den übergeordneten Elementen;
Dann wird dies genug sein :
wenn Sie wollen, zum Beispiel, eine linke Spalte (Höhe 100%) und die Inhalte (Höhe auto)
Sie können absolute :
in html :
Dies ist vielleicht nicht ideal, aber Sie können immer tun es mit javascript.
Oder in meinem Fall jQuery
In den Quelltext der Seite sehe ich Folgendes:
Wenn du die Höhe Wert in das tag zu verwenden, wird diese statt der angegebenen Höhe in der css-Datei.
Wenn Sie absolut die position der Elemente innerhalb der div, können Sie die Polsterung oben und unten auf 50%.
So etwas wie dieses: