如何混合链接(<a> tag ) and headings ( <h1> tag ) in web standard?</h1></a>

时间:2009-07-15 00:25:06

标签: html web-standards

根据网络标准创建标题1的链接的正确代码是什么?

是吗

<h1><a href="http://stackoverflow.com"> stackoverflow </a></h1>

<a href="http://stackoverflow.com"><h1> stackoverflow </h1></a>

由于

4 个答案:

答案 0 :(得分:136)

根据网络标准,不允许将块元素放入内联元素中。

由于h1是一个块元素,a是一个内联元素,正确的方法是:

<h1><a href="#">This is a title</a></h1>

以下是一个链接,您可以了解详情:w3 Visual formatting model

但是,有一个例外,在HTML5中,在锚标记中包装块级元素(如divph*)是有效的。除锚之外的内联元素中包含块级元素仍然违反标准。

答案 1 :(得分:43)

HTML5更新了这个主题:现在可以使用A来包装块级元素,如另一个问题所述:https://stackoverflow.com/a/9782054/674965和此处:http://davidwalsh.name/html5-elements-links

答案 2 :(得分:2)

据我所知,HTML5允许您在链接标记中包含块级元素。但是,旧版浏览器中可能会出现错误。我在Firefox 3.6.18中遇到过这个问题,并在我的代码中插入了moz-rs-heading =“”。因此我的风格破了。如果您关心解决方法,则可以将链接标记包装在div中。以下内容更好地解释了其他代码的工作原因http://oli.jp/2009/html5-block-level-links/

答案 3 :(得分:2)

a > h1将导致选择文本困难

Text Selection Issues

由于两者在HTML5中都完全有效,因此最好使用h1 > a