That's a standard question so a doubt that there no duplicates. ;-)
Extend your style/class with text-align: center;
<div style="text-align: center; height:300px;background:url('http://placehold.it/600x300') 0 0 no-repeat;background-size:cover">
<h1>Your Title</h1>
<p>Title<br />Description</p>
</div>
Vertical alignment is not that easy.
It can be done with a java script or if you wrap your div in a position: absolute
styled div with top: 0px
and bottom: 0px;
. Then you can use margin-top: auto; margin-bottom: auto; height: ???px
to center the inner div.
<div style="position: absolute; top: 0; bottom: 0; left:0; right:0; height: auto; width: auto;">
<div style="margin-top: auto; margin-bottom:auto; text-align: center; height:300px;background:url('http://placehold.it/600x300') 0 0 no-repeat;background-size:cover">
<h1>Your Title</h1>
<p>Title<br />Description</p>
</div>
</div>