嵌套<div>
或<p>
标记内的任何其他块级元素在语法和语义上是否正确.我在谈论HTML4 Transitional DTD.
如果不是那么可以代替使用<span style="display: block">
吗?
Alo*_*hci 88
从语法上讲,div
内部a p
在所有HTML标准中都是无效的.此外,当使用符合标准的HTML解析器时,不可能在DOM中放置一个<div>
元素<p>
,因为开始<div>
标记将自动关闭<p>
元素.
从语义上讲,正确的选择取决于您标记的内容.您需要至少显示一个完整的段落样本以及可能的周围内容,以确保提供足够的信息以确定正确的语义标记.
然而,由于这两个<div>
和<span>
是免费的语义,并没有办法,CSS都不能更改,如果你有一定的内容<p>
标签真正形成一个段落,并<span style="display: block">
得到你,你正在寻找的表象的效果,那么是有效的HTML,将是一个完全合适的解决方案.
它在语法上是不正确的,因为您可以使用W3C标记验证器自己看到.
在语义上和实际上我会说它是"ok",因为a)它非常自然,b)所有浏览器都能正确处理它(事实上这是他们每天必须面对的最简单的问题之一).
如果你的HTML是由用户输入产生的(例如,一个HTML编辑器小部件,游客可以使用它来发表评论),那么我只想让它成为,即使它是"不正确".
否则,您可以稍微更改标记.就我个人而言
<div class="para">
<div>Some content</div>
</div>
Run Code Online (Sandbox Code Playgroud)
并.para
使用CSS 提供适当的边距.