Six methods for centering something vertically.Pick your poison. Your method would fall under the "Table" option.
http://www.vanseodesign.com/css/vertical-centering/
Line-height
<div id="parent">
    <img src="image.png" alt="" />
</div>
#parent {
    line-height: 200px;
}
#parent img {
    vertical-align: middle;
}
Table
<div id="parent">
    <div id="child">Content here</div>
</div>
#parent {display: table;}
#child {
    display: table-cell;
    vertical-align: middle;
}
Negative Margins
<div id="parent">
    <div id="child">Content here</div>
</div>
#parent {position: relative;}
#child {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 30%;
    width: 50%;
    margin: -15% 0 0 -25%;
}
Stretching
<div id="parent">
    <div id="child">Content here</div>
</div>
#parent {position: relative;}
#child {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 50%;
    height: 30%;
    margin: auto;
}
Equal Padding
<div id="parent">
    <div id="child">Content here</div>
</div>
#parent {
    padding: 5% 0;
}
#child {
    padding: 10% 0;
}
Floater Div
<div id="parent">
    <div id="floater"></div>
    <div id="child">Content here</div>
</div>
#parent {height: 250px;}
#floater {
    float: left;
    height: 50%;
    width: 100%;
    margin-bottom: -50px;
}
#child {
    clear: both;
    height: 100px;
}