<div>在<p>标记内嵌套或任何其他块级元素在语法和语义上是否正确。我说的是HTML4过渡DTD。
<div>
<p>
如果不是,可以改为使用<span style="display: block">吗?
<span style="display: block">
在语法上,一个div里面p是HTML的所有标准无效。此外,当使用符合标准的HTML解析器时,由于开头标签会自动关闭元素,因此无法将<div>元素放置<p>在DOM中的a 内。<div>``<p>
div
p
<div>``<p>
从语义上来说,正确的选择取决于您要标记的内容。您将需要至少显示一个示例完整的段落以及可能包含其周围的内容,以确保提供足够的信息来确定正确的语义标记。
但是,鉴于<div>和<span>都没有语义,并且CSS决不会改变它,如果您确定<p>标记的内容确实构成了一个段落,并且可以<span style="display: block">得到想要的呈现效果,那么是有效的HTML,将是一个完全合适的解决方案。
<span>