跨越锚或锚内跨度或无关紧要?

101 html css semantic-markup

我想窝spana标签.我是不是该

  1. <span>里面<a>
  2. <a>里面<span>
  3. 没关系?

Jon*_*ley 106

3 - 没关系.

但是,我倾向于只使用<span>内部,<a>如果它仅用于标签的一部分内容,即

<a href="#">some <span class="red">text</span></a>
Run Code Online (Sandbox Code Playgroud)

而不是:

<a href="#"><span class="red">some text</span></a>
Run Code Online (Sandbox Code Playgroud)

显然应该是:

<a href="#" class="red">some text</a>
Run Code Online (Sandbox Code Playgroud)


Cra*_*gTP 32

在一个<span>内部<a><a>内部嵌套是完全有效的(至少通过HTML 4.01和XHTML 1.0标准)<span>.

只是为了向您自己证明,您可以随时查看W3C MarkUp验证服务

我试过验证:

<!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>
Run Code Online (Sandbox Code Playgroud)

和上面一样,但<a>内部也是如此<span>

<span><a href="http://www.google.com">Google</a></span>
Run Code Online (Sandbox Code Playgroud)

使用HTML 4.01和XHTML 1.0 doctypes,并且两者都成功通过验证!

唯一需要注意的是确保以正确的顺序关闭标签.所以,如果你有一个开始<span>那么<a>,请务必关闭<a>关闭前第一标签<span>,反之亦然.


Gre*_*reg 19

没关系 - 他们都被允许进入对方.

  • 不,两者都是内联的 (25认同)

kni*_*ttl 16

这取决于你想要标记的内容.

  • 如果你想要一个跨度内的链接,放在<a>里面<span>.
  • 如果你想在链接中标记某些内容,请<span>加入<a>


Sal*_*n A 16

SPAN是GENERIC内联容器.无论a是内部span还是span内部a都无关紧要,因为它们都是内联元素.随意做一些看似逻辑正确的事情.