当我们编写某种“产品清单”时,您只需要一个链接,但它应该包含产品图片,产品名称,产品标题等。我们可以使用包含p或其他标签吗?是否有任何跨浏览器问题?
我在html5中看到,标签可以包含p标签,但仍然对使用它没有信心。
一些代码如下:
<ul class="xxx_list">
<li class="hproduct">
<a href="#" class="url" title="" target="_blank">
<img class="photo" src="shoujike.jpg" alt="手机壳">
<p>
<span class="price_wrap">¥<span class="price">88.00</span</span>
<span class="fav">收藏</span>
</p>
<p><a class="fn" href="">基本商品单元的商品名称</a></p>
</a>
</li>
</ul>
答案 0 :(得分:20)
在HTML 4.x(及更早版本)和XHTML 1.x中,<a>
个元素可能不包含<p>
元素。
在HTML 5中 - <a>
元素可能包含<p>
个元素,但浏览器有点不稳定,您可能会发现必须明确将<a>
设置为display: block
在你的样式表中。
问题中的代码还包含<a>
内的<p>
。这是不允许的。 <a>
元素可能不是另一个<a>
元素的后代。
答案 1 :(得分:4)
内部a
标记可以是默认display: inline
或inline-block
的标记。标记如span
,em
,strong
等。
您可以使用某个类将p
更改为span
,并在CSS中为此类编写一些样式。
P.S。:您无法在a
内使用a
。
更新:
<ul class="xxx_list">
<li class="hproduct">
<a href="#" class="url" title="" target="_blank">
<img class="photo" src="shoujike.jpg" alt="手机壳">
<span class="some-class-name">
<span class="price_wrap">¥<span class="price">88.00</span</span>
<span class="fav">收藏</span>
</span>
<span class="fn">基本商品单元的商品名称</span>
</a>
</li>
</ul>