根据网络标准创建标题1的链接的正确代码是什么?
是吗
<h1><a href="http://stackoverflow.com"> stackoverflow </a></h1>
或
<a href="http://stackoverflow.com"><h1> stackoverflow </h1></a>
由于
答案 0 :(得分:136)
根据网络标准,不允许将块元素放入内联元素中。
由于h1
是一个块元素,a
是一个内联元素,正确的方法是:
<h1><a href="#">This is a title</a></h1>
以下是一个链接,您可以了解详情:w3 Visual formatting model
但是,有一个例外,在HTML5中,在锚标记中包装块级元素(如div
,p
或h*
)是有效的。除锚之外的内联元素中包含块级元素仍然违反标准。
答案 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)