跨度内的锚或锚是跨度还是无关紧要?
我想嵌套span
和a
标签。 我是不是该
- 将
<span>
放在<a>
- 把
<a>
放在<span>
里面 - 没关系?
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>
这是完全有效的(至less通过HTML 4.01和XHTML 1.0标准)将<span>
嵌套在<a>
或<span>
的<a>
内。
为了certificate这一点,您可以随时查看W3C MarkUpvalidation服务
我尝试validation:
<!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文档types,并且都通过了validation成功!
唯一需要注意的是确保您按照正确的顺序closures标签。 因此,如果您从<span>
开始,然后是<a>
,请确保在closures<span>
之前closures<a>
标记,反之亦然。
这取决于你想要标记的东西。
- 如果你想要一个跨度内的链接,把
<a>
放在<span>
里面。 - 如果您想在链接中标记某些内容,请将
<span>
放入<a>
这并不重要 – 它们都是相互允许的。
SPAN是一个GENERIC内联容器。 无论a
是内部span
还是span
内部都是内联元素。 随意做任何似乎在逻辑上正确的你。
这取决于跨度是什么。 如果它指的是链接的文本,而不是它是链接的事实,请select#1。 如果跨度是指整个链接,则select#2。 除非你解释范围代表的是什么,否则没有太多的答案。 它们都是内联元素,可以按任何顺序在语法上嵌套。
就个人而言,作为一个Web开发人员,如果我想突出显示链接文本的一部分,比如将一个背景应用到一个部分,我只能将一个范围放在一个定位标记中。
例如,如果您正在使用某种图标字体,则可能很重要。 我刚才有这个:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
通常我会把跨度放在A里面,但是直到交换之后,造型才会生效。
它将同时工作,但我个人更喜欢选项2,所以跨度是“在”链接“左右”。
在语义上,我觉得更像是单个元素的容器,如果你需要嵌套它们,那么表明多个元素将在外部元素内。