<img>标签不能嵌套在<a>标签中。

3
HTML5规范为什么规定<img>标签不能嵌套在<a>标签中?
<a href="#">
    <img src="src" alt="alt"/>
</a>

Visual Studio 2010 SP1表明:

enter image description here


2
嗯,你能给一个引用吗?在现在之前从未听说过这个。 - JohnP
1
@JohnP 你用过 Visual Studio 吗?如果没有,那么这个问题就不适用于你。 - Artur Keyan
https://dev59.com/9FzUa4cB1Zd3GeqP4pVP - Mauricio Scheffer
3个回答

9

虽然不是所有情况都允许,但是一般情况下是允许的。

a元素的内容模型为透明的,这意味着它的内容模型与其父元素的内容模型相同。

a规范中对应的:

内容模型:
透明的,但不能有交互式内容子孙元素。

img规范中对应的:

可使用此元素的上下文:
预期有嵌入内容的地方。

如果`a`元素的父元素的内容模型是“排版内容”或“嵌入式内容”,则允许使用`img`元素:
一般规则是,其内容模型允许任何排版内容的元素应该至少有一个非元素间空白的后代文本节点,或者至少有一个嵌入式内容的后代元素节点。

2

0

你的前提是错误的;这是一个完全有效的结构。


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