段落内部锚点内的数字:在HTML5中是合法的吗?

时间:2014-01-10 14:01:04

标签: html html5

根据HTML5规范you can nest block-level elements inside anchors

<a>
  <article></article>
</a>

但是在段落中嵌套块级元素是不合法的,因为p标记只能包含内联元素。

所以,这里有一个矛盾:

<p> <!-- block-level; can only contain inline elements -->
  <a> <!-- inline element; can contain block-level elements -->
    <figure></figure> <!-- block-level; can be nested in <a> but not <p> -->
  </a>
</p>

HTML5中上述块是否合法?

2 个答案:

答案 0 :(得分:8)

  

根据HTML5规范,您可以将块级元素嵌套在锚点中。

不完全。

What the spec says是:

  

内容模型:
  透明,但必须没有互动内容后代。

透明表示该元素可以包含其父元素可以包含的任何内容。因此,如果锚的父级可以具有块级子级,则锚也可以。如果父母不能,那么也不能锚。

在您的示例中,段落只能包含 Phrasing content ,而且这不包含图元素,因此该示例无效。

答案 1 :(得分:1)

“段落内锚点内的数字:在HTML5中是否合法?”

不,不是!

figure element can be nested inside a element如果 在你的情况下是p的父亲将数字元素作为孩子接受

所以问题仍然存在:可以将数字嵌套在p中吗? 回答:no it can't