Consider the following code:
HTML:
div {
display: table-cell;
vertical-align: middle;
height: 50px;
border: 1px solid red;
}
The advantages of this method is that you can change the height of the div, change the height of the text field and change the font size and everything will always stay in the middle.
http://jsfiddle.net/53ALd/6/