Antworten:
Gemäß Webstandards dürfen Sie keine Blockelemente in Inline-Elemente einfügen.
Da h1
es sich um ein Blockelement und a
ein Inline-Element handelt, ist der richtige Weg:
<h1><a href="#">This is a title</a></h1>
Hier ist ein Link, über den Sie mehr erfahren können: w3 Visuelles Formatierungsmodell
Allerdings gibt es eine Ausnahme , dass in HTML5 ist es gültiges Block-Level - Elemente zu wickeln (wie div
, p
oder h*
) in Anker - Tags. Das Einwickeln von Elementen auf Blockebene in andere Inline-Elemente als Anker verstößt immer noch gegen die Standards.
HTML5 aktualisiert dieses Thema: Es ist jetzt in Ordnung, Elemente auf Blockebene mit A zu versehen, wie unter einer anderen Frage angegeben: https://stackoverflow.com/a/9782054/674965 und hier: http://davidwalsh.name/html5- Elemente-Links
Soweit ich weiß, können Sie mit HTML5 Elemente auf Blockebene in Link-Tags einbinden. In älteren Browsern können jedoch Fehler auftreten. Ich bin auf Firefox 3.6.18 gestoßen und habe moz-rs-Heading = "" in meinen Code eingefügt. So brachen meine Stile. Wenn Sie sich für eine Problemumgehung interessieren, können Sie die Link-Tags in divs einschließen. Im Folgenden wird besser erklärt, warum der zusätzliche Code funktioniert. Http://oli.jp/2009/html5-block-level-links/