Відповіді:
Відповідно до веб-стандартів, вам не дозволяється вставляти елементи блоку в елементи вбудованої форми.
Оскільки h1
є блоковим елементом і a
є вбудованим елементом, правильний спосіб:
<h1><a href="#">This is a title</a></h1>
Ось посилання, щоб ви могли дізнатись більше: w3 Модель візуального форматування
Однак є виняток, що в HTML5 допустимо загортати елементи рівня блоку (наприклад div
, p
або h*
) в прив'язувальні теги. Обгортання елементів рівня блоку в вбудовані елементи, відмінні від анкерів, все ще суперечать стандартам.
HTML5 оновлює цю тему: тепер добре обертати елементи рівня блоку буквами A, як зазначено в іншому питанні: https://stackoverflow.com/a/9782054/674965 і тут: http://davidwalsh.name/html5- елементи-посилання
Наскільки я розумію, HTML5 дозволяє вам загортати елементи рівня блоку у теги посилань. Однак помилки можуть з’являтися у старих браузерах. Я зіткнувся з цим у Firefox 3.6.18 і отримав moz-rs-header = "" вставлений у мій код. Таким чином, мій стиль порушився. Якщо вам важлива робота навколо вас, ви можете загортати теги посилань у діви. Далі наведено кращі пояснення того, чому працює додатковий код http://oli.jp/2009/html5-block-level-links/