Center a DIV horizontally and vertically

This question already has an answer here:

  • How to center an element horizontally and vertically? 13 answers

  • After trying a lot of things I find a way that works. I share it here if it is useful to anyone. You can see it here working: http://jsbin.com/iquviq/30/edit

    .content {
            width: 200px;
            height: 600px;
            background-color: blue;
    
            position:absolute; /*it can be fixed too*/
            left:0; right:0;
            top:0; bottom:0;
            margin:auto;
    
            /*this to solve "the content will not be cut when the window is smaller than the content": */
            max-width:100%;
            max-height:100%;
            overflow:auto;
        }
    

    For modern browsers

    When you have that luxury. There's flexbox too, but that's not broadly supported at the time of this writing.

    HTML:

    <div class="content">This works with any content</div>
    

    CSS:

    .content {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
    

    Tinker with it further on Codepen or on JSBin

    For older browser support, look elsewhere in this thread.


    Here's a demo: http://www.w3.org/Style/Examples/007/center-example

    A method (JSFiddle example)

    CSS:

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

    HTML:

    <div id="content">
        Content goes here
    </div>
    

    Another method (JSFiddle example)

    CSS

    body, html, #wrapper {
        width: 100%;
        height: 100%
    }
    #wrapper {
        display: table
    }
    #main {
        display: table-cell;
        vertical-align: middle;
        text-align:center
    }
    

    HTML

    <div id="wrapper">
    <div id="main">
        Content goes here
    </div>
    </div>
    
    链接地址: http://www.djcxy.com/p/75704.html

    上一篇: 使用jQuery在屏幕上居中放置DIV

    下一篇: 水平和垂直居中放置DIV