You can use position: absolute
and top
–margin-top
to vertically align something whose height you know, and line-height
to give a single line of text a known height with the text in the middle:
h1 {
left: 0;
line-height: 200px;
margin-top: -100px;
position: absolute;
text-align: center;
top: 50%;
width: 100%;
}
<h1>Hello, world!</h1>