来自http://webdesign.about.com/od/htmltags/p/aadivtag.htm
在 HTML 4 中,DIV 元素不能位于另一个块级元素中,例如 P 元素。但是,在 HTML5 中,可以在其中找到 DIV 元素,并且可以包含其他流内容元素,例如 P 和 DIV。
我在表格中有这样的东西
<p> <label...> <input...> </p>
但是当 Rails 自动生成一个包装输入的 error_explanation div 时,一个段落变成了两个,我在 Firebug 中看到了这一点:
<p> <label...> </p> <div...> <input...> </div> <p> </p>
另外,如果我只是添加一个简单的
<p> <div> test </div> </p>
发生同样的问题(JSFiddle),它在 DOM 中呈现为
<p> </p> <div> test </div> <p> </p>
为什么?
更新:我给这篇文章的作者发了电子邮件,她做了适当的修改。