哪个是对的?这样:
<h2>heading 2</h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 1</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 2</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 3</a></p>
<h2>heading 2 </h2>
<p><a href="#" target="_blank" title="Opens in a new window">link 4</a></p>
或者这个:
<h2>heading 2</h2>
<a href="#" target="_blank" title="Opens in a new window">link 1</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 2</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 3</a>
<h2>heading 2 </h2>
<a href="#" target="_blank" title="Opens in a new window">link 4</a>
答案 0 :(得分:3)
两者都是对的,都会验证
答案 1 :(得分:1)
两者都很好,但浮动内联元素因某种原因困扰我
答案 2 :(得分:0)
@Jitendra,我同意你的意见..但只有你使用的是strict.dtd(HTML / XHTML)
根据W3C建议(适用于strict dtd)..标记<a>
必须在块元素中使用。
请看下面的例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
<title>example</title>
</head>
<body>You don't have sufficient privileges to access the page.<a href="www.google.co.in">Click here</a> to go back.
</body>
</html>
以上代码在进行HTML验证时会产生错误。说
document type does not allow element "A" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE", "DIV", "ADDRESS" start-tag
使dtd变得宽松/过渡你可以摆脱错误..对于严格的HTML或严格的XHTML,这个错误很明显..
希望它有所帮助.. :)
问候 - 婴儿专业
答案 3 :(得分:0)
虽然在编写HTML代码时我从未关心“块中元素的非块”规则,但 body 元素应该是块元素。 (我忘记了我在哪里阅读它),即你的两个HTML代码片段都是正确的。
答案 4 :(得分:0)
它们都不是真正的'正确'语义: - )
将它们作为列表放置并尝试避免使用target =“_ blank”。可能没有理由在每个<p>
周围放置一个<a>
(如果你想要严格验证,那么确保整个批次都在块级元素中 - 好点婴儿程序员)。
如果您希望<a>
充当块级元素,那么删除<p>
只需使用
#somewrapper a
{
display: block;
}