Closed. This question is opinion-based 。它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文来回答。

4年前关闭。



Improve this question




我正在使用 anchor 标记,并且超链接中显示的文本应该是斜体的。使用 anchor 时,我是在文本本身上使用斜体标签还是将整个 anchor 标签设为斜体?哪个是正确的语法?

例子:
<a href="http://www.google.com/"><i>Google</i></a>

或者:
<i><a href="http://www.google.com/">Google</a></i>

最佳答案

两者都是完全有效的。请参阅 HTML5 Specification,其中解释了标签的语义和用法。在 a element 上:



可以使用元素的上下文是元素有效和可以使用的地方1。短语内容在规范中是这样定义的:



因此,短语内容意味着文档的文本或标记文本的元素,例如 a 表示超链接或 i 表示斜体。上面列出的任何元素都适用。如果您查看 i element :



根据规范,它说 ai 可以在相同的上下文中使用,即短语上下文。因此,我们可以得出结论:

  • a 元素内的 i 元素很好,因为 a 元素可用于对内容进行措辞。 i 正在对内容进行措辞,因此它是有效的。
  • i 元素内的 a 元素很好,因为 a 元素可用于对内容进行措辞。 a 正在对内容进行措辞,因此它是有效的 2。

  • 撇开有效性不谈,您选择哪种方式完全取决于您,其中一种并不比另一种更有效。

    1 这通常是由元素是否为 block-level or inline 来确定的,但 HTML5 已经删除了这些类型,转而使用一些更具描述性的类别,阅读更多 at MDN

    2 请注意,即使 a 是短语内容,您 也不能将 a 嵌套在另一个 a 中。这是因为 acontent modelinteractive content 执行 而不是 。其他限制可能适用于其他元素。

    关于html - 我应该将 <i> 嵌套在 <a> 中还是将 <a> 嵌套在 <i> 中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42659674/

    10-12 07:26