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

我想嵌套 spana标签。我应该

  1. <span>放在 <a>
  2. Put <a> inside <span>
  3. 这不重要吗?
192517 次浏览

It doesn't matter - they're both allowed inside each other.

这取决于您想要标记什么。

  • 如果你想在一个跨度里面有一个链接,把 <a>放在 <span>里面。
  • 如果您想在链接中标记某些内容,请将 <span>放到 <a>

It depends on what the span is for. If it refers to the text of the link, and not the fact that it is a link, choose #1. If the span refers to the link as a whole, then choose #2. Unless you explain what the span represents, there's not much more of an answer than that. They're both inline elements, can be syntactically nested in any order.

它将工作两者,但个人而言,我更喜欢选项2,这样的跨度是“周围”的链接。

3 - It doesn't matter.

但是,我倾向于只在 <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>

<span>嵌套在 <a>中或者将 <a>嵌套在 <span>中是完全有效的(至少按照 HTML 4.01和 XHTML 1.0标准)。

为了证明给你自己看,你可以去 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>里面

也就是说。

<span><a href="http://www.google.com">Google</a></span>

with both HTML 4.01 and XHTML 1.0 doctypes, and both passed validation successfully!

唯一需要注意的是确保按照正确的顺序关闭标记。因此,如果你从 <span>开始,然后是 <a>,确保在关闭 <span>之前先关闭 <a>标记,反之亦然。

从语义上讲,我认为更有意义,因为它是一个单个元素的容器,如果你需要嵌套它们,那么这意味着比元素更多的元素将位于外部元素的内部。

SPAN 是一个 通用的内联容器。aspan内还是 spana内并不重要,因为它们都是内联元素。你想做什么就做什么。

就个人而言,作为一个 web 开发人员,我只有在试图突出链接文本的某一部分时才会在锚标记中放置 span,比如在某一部分应用背景。

例如,如果你使用某种排序图标字体,这很重要:

<span class="fa fa-print fa-3x"><a href="some_link"></a></span>

通常我会把跨度内的 A,但样式没有生效,直到交换它圆。