Chris Chris - 4 months ago 7
CSS Question

vertically center div when body height: 100% without absolute pos

I have this to fill the window:

html, body {
height: 100%;}

then a container also set to height: 100%, how do I vertically center a div with an image without specifying and set height in pixels and without using absolute positioning? Using padding-top: 50%; padding-bottom 50%; isn't working - seems to shift the div depending on device site or browser window.


You can use display:table and display:table-cell:

html, body {
    width: 100%;
    height: 100%;

    margin: 0;
    display: table

body>div {
    display: table-cell; 
    text-align: center; /* horizontal */
    vertical-align: middle; /* vertical */
    <img src="" />


More on display property .