8

我有一个包含 p 的跨度,如下所示:

<span>
    <p>this is the p</p>
</span>

根据 HTML5 规范,这是不允许的。现在,我的 HTML 比上面的更复杂,我需要类似于 ap 的东西来代替。我可以使用哪个标签或者我可以使用 css 更改哪个元素,使其表现得像 ap?

4

1 回答 1

14

p有一个意义

如果您的内容符合p的定义,则应使用p. 那么你应该使用 adiv而不是 a span(除非没有其他合适的候选人):

<div>
  <p>…&lt;/p>
</div>

如果您的内容与 的定义不匹配p,则不应使用p. 然后你可以使用span代替p(如果没有其他合适的候选人):

<span>
  <span>…&lt;/span>
</span>

span并且div没有意义。所以你只需要考虑它们在语法上的位置(块与内联)您可以在不丢失/更改任何语义的情况下交换它们:

<div>
  <span>…&lt;/span>
</div>

<div>
  <div>…&lt;/div>
</div>

请注意,所有这些都与这些元素的样式无关。您可以使用 CSS 设置块级元素的样式,使其显示为内联,反之亦然:display:inline;resp。display:block;.

于 2013-08-28T15:49:36.330 回答