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

前端 未结 2 1572
无人及你
无人及你 2021-02-10 16:17

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

相关标签:
2条回答
  • 2021-02-10 16:46

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

    html, body {
        width: 100%;
        height: 100%;
    }
    
    body{
        margin: 0;
        display: table
    }
    
    body>div {
        display: table-cell; 
        text-align: center; /* horizontal */
        vertical-align: middle; /* vertical */
    }
    <div>
        <img src="http://paw.princeton.edu/issues/2012/07/11/pages/6994/C-beer.jpg" />
    </div>

    JSFiddle

    More on display property .

    0 讨论(0)
  • 2021-02-10 17:01

    today, display:table and table-cell make it easy, you can have tags to react as a <table> would. basicly :

    html, body {
        height: 100%;
        width: 100%;
        margin: 0;
    }
    html {
        display: table;
    }
    body {
        display: table-cell;
        vertical-align: middle;
    }
    

    whatever will be in body will be vertical-align in the middle. for text a small box , use text-align on body or margin : auto. you can transfer display to body and div instead html and body.

    0 讨论(0)
提交回复
热议问题