jsFiddle
Using display block and margin. display:block when not combined with a defined height/width will try to fill it's parent.
header {
width:100%;
background:#d0d0d0;
height:100%;
}
h1 {
display:block;
border:#000 solid 1px;
margin:0 50px 0 0;
height:100px;
}