I am trying to vertically center a <div> within a <body>
The reason I'm trying to do this is because I'm trying to design a website that is in the style of the Windows 8 Metro start screen
Does anyone know how this can be done?
I am trying to vertically center a <div> within a <body>
The reason I'm trying to do this is because I'm trying to design a website that is in the style of the Windows 8 Metro start screen
Does anyone know how this can be done?
 
    
     
    
    If you want center block verticaly you can use this trick's
margin is a half of your size bloc.
If you use this you need size on your bloc.
html :
<div id="center"></div>
css :
#center{
    position:absolute;
    left:50%;
    top:50%;
    height:400px;
    width:600px;
    margin-left:-300px;
    margin-top:-200px;
}
DEMO : http://jsfiddle.net/ucbRs/
or you can also use this :
css :
#center{
    position:absolute;
    left:100px;
    top:100px;
    bottom:100px;
    right:100px;
}
DEMO : http://jsfiddle.net/ucbRs/1/
or you can also use a CSS3 property align-content like this :
body{
    display:flex;
    flex-flow: row wrap;
    align-content:center;
}
#center{
    margin:0 auto;
}
DEMO : http://jsfiddle.net/ucbRs/3/
 
    
    Welcome to SO!
Vertically centering a div is actually very simple.
div{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
There you have it.
You might also consider absolute centering:
div{
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}
