Для вертикального выравнивания поля на веб-странице, включая Internet Explorer 6, вы можете использовать:
- Условные комментарии
- Свойство
haslayout
display: table-value
для других (и теперь гибкий)
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>
На самом деле, Internet Explorer 7 здесь принесет некоторые проблемы, будучи единственным, который будет строго применять height: 100%
к элементам HTML / body.
Но, это прошло и сегодня, и кто все еще возражает против старых версий Internet Explorer, table/table-cell
просто отлично, display: flex
многообещающе, и display: grid
появится когда-нибудь.