I'm having some troubles trying to create a div
with height:100%
inside a wrap with display:table-cell
.
I've noticed it doesn't work in Firefox and IE 9.
Here's the fiddle with the problem. You can notice it works as expected and Chrome or Opera.
What's wrong with the code?
Is there any way to solve it?
I want to preserve the display:table
and display:table-cell
of the parents in order to center the content vertically on variable heights containers.
<div class="table">
<div class="table-cell">
<div class="content"></div>
</div>
</div>
body, html {
margin:0;
padding:0;
height:100%;
}
.table {
display:table;
width:100%;
height:100%;
}
.table-cell {
display:table-cell;
vertical-align: middle;
width:100%;
}
.content {
height: 100%;
display: block;
overflow: hidden;
position: relative;
background: url(http://spaceinimages.esa.int/var/esa/storage/images/esa_multimedia/images/2012/11/solar_eclipse_corona/12092636-3-eng-GB/Solar_eclipse_corona_node_full_image.jpg);
background-size:cover;
}
For height:100%
to work, all parent containers must be height:100%
. If you notice, your .table-cell
styles do not have height:100%
.
Adding this style fixes the issue in Firefox:
.table-cell {
display:table-cell;
vertical-align: middle;
width:100%;
height:100%;
}
As an alternative, adding the image to your HTML rather than as a CSS background-image
might also work.
body, html {
margin:0;
padding:0;
height:100%;
}
.table {
display:table;
width:100%;
height:100%;
}
.table-cell {
display:table-cell;
vertical-align: middle;
width:100%;
}
.content {
height: 100%;
display: block;
overflow: hidden;
position: relative;
background-size:cover;
}
.content img {
width:100%;
height:100%;
}
<div class="table">
<div class="table-cell">
<div class="content">
<img src="http://spaceinimages.esa.int/var/esa/storage/images/esa_multimedia/images/2012/11/solar_eclipse_corona/12092636-3-eng-GB/Solar_eclipse_corona_node_full_image.jpg"/>
</div>
</div>
</div>
<div class="content">
<img src="...your image url..." />
</div>
.table-cell {
display:table-cell;
vertical-align: middle;
width:100%;
}
.content img {
width:100%;
height:100%;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With