Html 包裹A或包裹P
在html中创建链接的最佳方法是什么 我主要使用html4,但我正在尝试实现html5 所以我的问题是包装标签应该是什么,p还是a 这:Html 包裹A或包裹P,html,Html,在html中创建链接的最佳方法是什么 我主要使用html4,但我正在尝试实现html5 所以我的问题是包装标签应该是什么,p还是a 这: 或者这个: <a href="#"> <p class="center"> <img src="addToCart.png"> </p> </a> 谢谢。在HTML4.1下,默认
或者这个:
<a href="#">
<p class="center">
<img src="addToCart.png">
</p>
</a>
谢谢。在HTML4.1下,默认情况下
a
元素display:inline
不能包含块级元素,例如p
;因此p
应该包装a
但是,如果您使用的是HTML5,并且有
,那么任何一种方法都是可以接受的(并且是有效的),因此请使用您认为最符合要求的方法。锚定只能包含内联元素(span、strong、em等)。段落标记是块标记,因此无效。设置display:inline,它肯定会工作,但不再有效
你的第一个例子是正确的
如上所述=这仅适用于html4。规范
规格
综上所述,以上两项都可以使用,并且都是有效的
有一个透明的内容模型(排除其他交互内容除外),因此它几乎可以包装任何内容
以“短语内容”为模型,并且
属于短语内容类别<代码>也在“语法内容”中
因此,你的两个例子都是完全正确的。这完全取决于您具体想做什么。请不要按照David的回答,这只适用于HTML 4。在HTML5中,
@david thomas-True enough的内容限制这是HTML5刚刚铺好道路的地方之一。这只是对已经支持的内容的标准化;但我故意在简单有效性的问题上停下来;浏览器(几乎是最终的)宽容,所以虽然理解/支持无效HTML,但它仍然无效。即使它能够运行。这会影响的tabindex吗?它不应该影响,因为p
不是交互式元素(除非JavaScript添加了功能,或者使用了contentEditable
属性来允许),并且不应该接收焦点。
<a href="#">
<p class="center">
<img src="addToCart.png">
</p>
</a>