正如HTML5 规范所述
a 元素可以围绕整个段落、列表、表格等,甚至整个部分,只要其中没有交互式内容(例如,按钮或其他链接)。
考虑到这一点,我有一个以 HTML5 doctype ( ) 开头的 WordPress PHP 文档<!DOCTYPE html>,我<article>用 a包装 a <a>,并将 a 设置<a>为display: block.
我的源PHP:
<a href="<?php the_permalink(); ?>">
<article>
<header>
Some header content
</header>
<footer>
Some footer content
</footer>
</article>
</a>
但是当我在几个最新的浏览器(在 Chrome、Firefox 和 Safari 中测试)中查看它时,我得到了这个:
<a href="the-correctly-rendered-url">
</a>
<article>
<a href="the-correctly-rendered-url"></a>
<header>
<a href="the-correctly-rendered-url">
Some header content
</a>
</header>
<footer>
Some footer content
</footer>
</article>
包装<a>完全移出<article>,并复制以将一些元素包装在其中。
这些浏览器是否只是不遵守 HTML5 规范?如果呈现的页面似乎不遵循给定的规范,该怎么办?