あなたの質問は<header>
要素に言及していますが、CSSコードはクラスセレクターを使用してい#header
ます。技術的には持っている可能性がありますが<header class=header>
、それはかなり無意味であり#header
、実際のマークアップが持っていることを示唆してい<div class=header>
ます。
実際のブラウザの動作を考慮する限り、<header>
要素と要素の両方を要素<div>
内に配置できます。<a>
HTML仕様では、従来、このような構成は許可されていませんでしたが、HTML5 CRでは、内部の「フローコンテンツ」を許可しています<a>
。
ヘッダーが実際には(背景画像として)1つの画像である場合、a
要素のみを使用して背景画像を直接その上に設定する方が自然に見えるでしょう。ただし、これによりアクセシビリティが低下します。背景画像の代替テキストを指定する方法がないため、スクリーンリーダーや画像の読み込みが無効になっているブラウザでは、コンテンツやリンクテキストのないリンクが作成されます。したがって、ヘッダーをリンクにする必要がある場合は、コンテンツ画像を使用することをお勧めします。
<header>
<a href="./"><img src=hdr.png alt="ACME Company" border=0></a>
</header>
(ただし、コンテンツイメージは、最小ページ幅をイメージの幅に強制します。これは常に望ましいとは限りませんが、それは別の話であり、別の質問です。)