解 説

displayをtable-cellとしてvertical-alignを使用する。

div {
height: 200px;
width: 300px;
vertical-align: middle;
display: table-cell;
}
例えばfloatと併用するとうまくいかないなど制限あり。