你能在HTML的a标签中放置多个元素吗?

4
非常新手的问题。
例如,这样可以吗?
<a href="allaboutpeanuts.html">Peanuts<img src="peanut.jpg"> </a>

我尝试了一下,它可以正常工作,但是我在谷歌上搜索了一下,没有找到任何提到将多个元素放入a href中的内容。所以你实际上不应该这样做,但我作弊了,所以这算是一种hack吗?


无关,但请确保在 img 标签上包含所需的 alt 属性。它应该是 <img src="peanut.jpg" alt="花生" />alt 属性可供任何不能查看图像的人使用(无论是因为关闭了图像还是访问者有视觉障碍)。 - VoteyDisciple
3个回答

9

是的,绝对可以。HTML标签可以以任何组合和数量嵌套。

主要的规则是它们必须正确地嵌套。因此,这个是无效的

<a href="allaboutpeanuts.html">Peanuts <h1>Lovely <img src="peanut.png" alt="Peanut" /></a> Peanuts</h1>

h1标签并不完全在a标签内。

然而,下面的写法是完全有效的:

<div><h1><a href="allaboutpeanuts.html">Peanuts <img src="peanut.png" alt="Peanut" /></a></h1></div>

1
还要记得像 img 这样的自闭合标签。它们不能包含其他元素。 - Gabriele Petrioli

5

这是完全合法的HTML代码,但请注意以下限制:

在HTML 4.01和XHTML中,只有内联元素可以作为<a>标签的子元素(例如<span>

在HTML5中,这已经改变了,允许非交互式块级元素 - 例如您可以嵌套<p><div><h1>甚至是<section>,但不能再嵌套<a><input>。[请参见The a element]


1

是的,没错 - 你可以把一个元素放到另一个元素里面。唯一不合法的事情是把块级元素放到行内元素里面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接