Um eine Box in einer Webseite vertikal auszurichten, einschließlich Internet Explorer 6, können Sie verwenden:
- Bedingte Kommentare
- El
haslayout
Eigenschaft
display: table-value
für andere (und jetzt Flex)
Fiddle
/* Internet Explorer 8 and others */
.main {
width: 500px;
margin: auto;
border: solid;
}
html {
height: 100%;
width: 100%;
display: table;
}
body {
display: table-cell;
vertical-align: middle;
}
<!-- [if lte IE 7]>
<style> /* Should be in the <head> */
html, body , .ie {
height: 100%;
text-align: center;
white-space: nowrap;
}
.ie , .main{
display: inline; /* Used with zoom in case you take a block element instead an inline element */
zoom: 1;
vertical-align: middle;
text-align: left;
white-space: normal;
}
</style>
<b class="ie"></b>
<!--[endif]-->
<div class="main">
<p>Fill it up with your content </p>
<p><a href="https://jsfiddle.net/h8z24s5v/embedded/result/">JsFiddle versie</a></p>
</div>
Eigentlich würde der Internet Explorer 7 hier einige Probleme bereiten, da er der einzige ist, der strikt angewendet wird height: 100%
auf HTML/Body-Elemente.
Aber, dies ist Vergangenheit und heute und wer kümmert sich noch um alte Versionen von Internet Explorer, table/table-cell
ist genau richtig, display: flex
ist vielversprechend, und display: grid
wird eines Tages auftauchen.
Ein weiteres Beispiel aus der heutigen Zeit via flex
html {
display: flex;
min-height: 100vh;/* or height */
}
body {
margin: auto;
}
<div>Div to be aligned vertically</div>
29 Stimmen
@MarcoDemaio Sind die Leute nicht ständig verpönt
tables
für Layouts hier?17 Stimmen
@Chud37: es hängt davon ab, was Sie tun müssen, Tabellen für das Layout sind in der Regel nicht vielseitig und lange in Code eingeben, mit css können Sie leicht ändern ein 2 Spalten-Layout in einem 3/4/5 Sols Layout usw. Aber in diesem Fall ist anders, mit Dutzenden von css Tipps und Tricks für eine so einfache Aufgabe, die mit einer perfekten Cross-Browser-Tabelle erreicht werden könnte, ist es wie der Versuch, in Ihr Haus durch das Fenster statt mit der Tür zu betreten.
0 Stimmen
Für den Fall, dass sich die Leute nicht um die Unterstützung älterer Browser kümmern: davidwalsh.name/css-vertikal-zentriert
0 Stimmen
@MarcoDemaio : Weil die Verwendung von Tabellen mit valign Funktioniert nicht ? :)
0 Stimmen
Die moderne Art, es zu tun.
1 Stimmen
css-vertical-center.com es gibt einige Lösungen mit Informationen zur Browserkompatibilität
3 Stimmen
Es gibt viele Möglichkeiten, dies zu tun css-tricks.com/centering-css-complete-guide
0 Stimmen
Das hat mir geholfen: developer.mozilla.org/de-US/docs/Web/CSS/