div の垂直方向の配置と中央揃えに関する Q&A とブログ投稿を数え切れないほど読んできましたが、最も単純なケース (空の 20x20 div を html 本文に直接配置) を使用することはできません。
html:
body
{
background-color:DarkGray;
display:table;
}
.box
{
background-color:black;
display:table-cell
margin:0, auto;
width:20px;
height:20px;
}
<body>
<div class="box">
</div>
</body>
これがJSFiddleです。