3-这并不重要。
但是,如果仅涉及标记内容的一部分,我倾向于仅在<a>
中使用<span>
。
<a href="#">some <span class="red">text</span></a>
不要:
<a href="#"><span class="red">some text</span></a>
显然应该只是:
<a href="#" class="red">some text</a>
在HTML 4.01和XHTML 1.0标准下,将<span>
嵌套在<a>
中或者将<a>
嵌套在<span>
中都是完全有效的。
你可以验证一下,为了证明这一点,你可以使用W3C MarkUp Validation Service
我尝试进行验证:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Title</title>
</head>
<body>
<p>
<a href="http://www.google.com/"><span>Google</span></a>
</p>
</body>
</html>
还有一个与上面相同的例子,但是在 <span>
中包含了 <a>
即
<span><a href="http://www.google.com">Google</a></span>
使用HTML 4.01和XHTML 1.0的文档类型,两者都通过了验证!
需要注意的是确保按正确顺序关闭标签。所以如果你先使用了<span>
然后是<a>
,请确保先关闭<a>
标签再关闭<span>
标签,反之亦然。
无关紧要 - 两者都可以彼此包含。
那取决于您想要标记什么。
<a>
放置在 <span>
中。<span>
放置在 <a>
中。SPAN是一个通用的行内容器。无论是将a
放在中,还是将放在a
中,两者都是行内元素。随意按照逻辑正确的方式进行操作。
这可能很重要,特别是当您使用某种图标字体时。我最近就遇到了这个问题:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
通常我会把span放在A标签内,但是直到我交换它们的位置后,样式才生效。
这取决于span的用途。如果它指的是链接的文本,而不是链接本身,选择#1。如果span指的是链接作为一个整体,那么选择#2。除非您解释span代表什么,否则答案就只有这么多了。它们都是内联元素,可以按任意语法嵌套。
就我个人而言,作为一名Web开发人员,只有在试图突出显示链接文本的某个部分(例如应用背景到某个部分)时,我才会在锚点标记中放置一个。
这两种方式都可以,但我个人更喜欢选项2,这样span标签就会“包围”链接。
<address>
是链接的一部分(或全部),但链接<a>
不是地址的一部分。使用选项2,<a><img...></a>
是很常见的,你可能会经常违反自己的规则。 - Stephen P