div {
display: table-cell;
vertical-align: middle;
height: 50px;
border: 1px solid red;
}
<div>
<label for="name">Name:</label>
<input type="text" id='name' />
</div>
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.