可以<a> tag?</a> </p>中的<p>标记

时间:2012-12-17 09:17:33

标签: html css html5

  

可能重复:
  Is putting a div inside an anchor ever correct?

当我们编写某种“产品清单”时,您只需要一个链接,但它应该包含产品图片,产品名称,产品标题等。我们可以使用包含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">&yen;<span class="price">88.00</span</span>  
            <span class="fav">收藏</span>  
        </p>  
        <p><a class="fn" href="">基本商品单元的商品名称</a></p>  
    </a>  
</li>  
</ul>

2 个答案:

答案 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: inlineinline-block的标记。标记如spanemstrong等。

您可以使用某个类将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">&yen;<span class="price">88.00</span</span>  
                <span class="fav">收藏</span>  
            </span>  
            <span class="fn">基本商品单元的商品名称</span>  
        </a>  
    </li>  
</ul>