手がかりが少ないので、憶測での回答です。
headerの中に配置する、非レスポンシブ、
ボタンは画像、または、テキストであっても横幅が固定と仮定します。
h1の内容が画像の場合、
html
1<header>
2 <h1>画像</h1>
3 <p>ボタン</p>
4</header>
css
1header {
2 position:relative;
3 width:;
4 height:;
5}
6
7header h1 {
8 position:absolute;
9 left:;
10 top:;
11}
12
13header p {
14 position:absolute;
15 left:;
16 top:;
17}
width/height/left/top は画像サイズや余白で異なるので、
ご自身で追記してください。
h1のleftは、header width/2-img width/2 で求められます。
h1の内容がテキスト(幅可変)の場合、
html
1<header>
2 <h1>テキスト<span>ボタン</span></h1>
3</header>
css
1header {
2 text-align:center;
3}
4
5header h1 {
6 padding:30px 0 30px 105px;/*30pxは縦方向の余白、105pxはボタンが100pxで余白が5pxという意味*/
7 margin:0 auto;
8 width:auto;
9 font:その他フォントサイズなど;
10}
11
12header h1 span {
13 display:inline-block;
14 padding-left:5px;
15}
とすれば、テキストの文字数や各ブラウザでの差異も関係なく、
テキスト部分はセンタリングされたものと同じ位置に表示されると思います。
例はspanとしましたが、インライン要素の、strongやemでもOKです。