我想嵌套span
和a
标签。我应该
<span>
放入<a>
<a>
放入<span>
答案 0 :(得分:103)
3 - 没关系。
但是,我倾向于只在<span>
内使用<a>
,如果它仅用于标签内容的部分,即
<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>
答案 1 :(得分:32)
完全有效(至少通过HTML 4.01和XHTML 1.0标准)在<span>
内嵌<a>
或在<a>
内嵌套<span>
。 / p>
为了向自己证明,您可以随时查看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>
也与上述相同,但<a>
<span>
即
<span><a href="http://www.google.com">Google</a></span>
同时使用HTML 4.01和XHTML 1.0 doctypes,并且两者都成功通过了验证!
唯一需要注意的是确保以正确的顺序关闭标记。因此,如果您从<span>
开始<a>
,请确保先关闭<a>
代码,然后再关闭<span>
,反之亦然。
答案 2 :(得分:19)
没关系 - 他们都被允许进入对方。
答案 3 :(得分:16)
取决于你想要标记的内容。
<a>
放在<span>
。<span>
放入<a>
答案 4 :(得分:16)
SPAN是 GENERIC 内联容器。 a
内的span
或span
内的a
是否为内联元素并不重要。随意做一些看似逻辑正确的事情。
答案 5 :(得分:2)
这取决于跨度的范围。如果它引用链接的文本,而不是链接的事实,请选择#1。如果跨度指的是整个链接,则选择#2。除非你解释跨度代表什么,否则没有更多的答案。它们都是内联元素,可以按任何顺序在语法上嵌套。
答案 6 :(得分:1)
就个人而言,作为一名网络开发者,如果我试图突出显示链接文本的一部分,例如将背景应用于一个部分,我只会在一个锚标记中添加一个范围。
答案 7 :(得分:1)
例如,如果您使用某种排序图标字体,则可能很重要。我刚才有这个:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
通常情况下,我会将跨度放在A中,但样式在交换之前不会生效。
答案 8 :(得分:0)
它可以同时工作,但我个人更喜欢选项2,所以跨度是“环绕”链接。
答案 9 :(得分:0)
语义上我认为更有意义,因为它是单个元素的容器,如果你需要嵌套它们,那么这表明元素将在外部元素内部。