How do I vertically center an H1 in a div?

This question already has an answer here:

  • How do I vertically align text in a div? 27 answers
  • How do I vertically center text with CSS? 34 answers

  • you can achieve vertical aligning with display:table-cell :

    #section1 {
        height: 90%; 
        text-align:center; 
        display:table;
        width:100%;
    }
    
    #section1 h1 {display:table-cell; vertical-align:middle}
    

    Example

    Update - CSS3

    For an alternate way to vertical align, you can use the following css 3 which should be supported in all the latest browsers:

    #section1 {
        height: 90%; 
        width:100%;
        display:flex;
        align-items: center;
        justify-content: center;
    }
    

    Updated fiddle


    You can achieve this with the display property:

    html, body {
        height:100%;
        margin:0;
        padding:0;
    }
    #section1 {
        width:100%; /*full width*/
        min-height:90%;
        text-align:center;
        display:table; /*acts like a table*/
    }
    h1{
        margin:0;
        padding:0;
        vertical-align:middle; /*middle centred*/
        display:table-cell; /*acts like a table cell*/
    }
    

    Demo: http://jsfiddle.net/a3Kns/


    I've had success putting text within span tags and then setting vertical-align: middle on that span. Don't know how cross-browser compliant this is though, I've only tested it in webkit browsers.

    链接地址: http://www.djcxy.com/p/41650.html

    上一篇: True Center垂直和水平CSS Div

    下一篇: 我如何在一个div中垂直居中H1?