我有以下标记:
<footer>
<p id="foo">
©Copyright. <address><a href="" title="Web Development">Me</a></address>. Todos os direitos reservados.
</p>
</footer>
但是W3 Validator(HTML 5)说:
Error Line 81, Column 20: No p element in scope but a p end tag seen.
</p>
我有一个p标签。怎么了? 谢谢。
答案 0 :(得分:14)
问题:
<p>
不能包含<address>
块
您可以在<p>
内嵌套<address>
! <address>
块仅表示在其中找到地址信息。它不需要紧紧包裹在地址本身周围。
http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#the-address-element
答案 1 :(得分:2)
布局问题:
为什么要使用像'p或'div这样的包装来进行布局编码呢?作为块级元素,您可以直接使用'adress作为容器框,并根据需要使用任何CSS格式化它。保持代码简洁。
语义问题:
你也不需要为语义包装'p',因为'地址已经非常好地解释了它的内容。只需使用它; - )
语法问题:
是的,其他答案是正确的: 'p仅包含合法内联/内联块元素,不允许块级元素
答案 2 :(得分:-4)
这可能是因为您使用的是HTML5标签(W3c尚未完成)。因此,只需使用div来维护交叉浏览问题。