我想嵌套span
和a
标记。我是不是该
- 放入
<span>
里面<a>
- 放入
<a>
里面<span>
- 没关系 ?
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>
将 a 嵌套<span>
在 an内<a>
或将a 嵌套在.<a>
<span>
只是为了向自己证明这一点,您可以随时查看W3C 标记验证服务
我尝试验证:
<!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>
IE
<span><a href="http://www.google.com">Google</a></span>
使用 HTML 4.01 和 XHTML 1.0 文档类型,并且都成功通过了验证!
唯一需要注意的是确保以正确的顺序关闭标签。因此,如果您从 a<span>
然后 an开始<a>
,请确保在关闭<a>
标签之前先关闭标签,<span>
反之亦然。
没关系 - 他们都被允许进入彼此。
这取决于您要标记的内容。
<a>
放入<span>
.<span>
放入<a>
SPAN 是一个GENERIC内联容器。a
an是在内部span
还是span
在内部都没有关系,a
因为两者都是内联元素。随意做任何对你来说逻辑上正确的事情。
例如,如果您使用某种排序图标字体,这可能很重要。我刚才有这个:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
通常我会将跨度放在 A 内,但样式直到交换它才生效。
这取决于跨度的用途。如果它指的是链接的文本,而不是链接的事实,请选择#1。如果跨度指的是整个链接,则选择#2。除非您解释跨度代表什么,否则没有比这更多的答案了。它们都是内联元素,可以按任何顺序在语法上嵌套。
就个人而言,作为一名 Web 开发人员,如果我试图突出显示链接文本的一部分,例如为一个部分应用背景,我只会在锚标记中放置一个跨度。
从语义上讲,我认为作为单个元素的容器更有意义,如果您需要嵌套它们,那么这表明不止一个元素将位于外部元素的内部。
它可以同时工作,但我个人更喜欢选项 2,所以跨度是“围绕”链接。