<p>和</p> <div>?</div>之间的非语义差异是什么?

时间:2015-02-03 21:02:02

标签: css html5

它们都是块元素。那么为什么我可以在<div>内嵌套<div>,但不能在<p>内嵌套<p>? (好吧,我可以,但第二个<p>只是开始一个新的块。)

我已阅读有关div tagp tag的内容,但我没有看到任何解释它的内容。如果它在那里,那它就会超越我的头脑。

为了记录,我不想嵌套p标签,我只是想更多地了解基本面。

2 个答案:

答案 0 :(得分:3)

根据您的链接(在Permitted content部分中),<p>可以包含phrasing content,而<div>可以包含flow content(包括短语内容元素类型)。

enter image description here

在实际层面上,浏览器通常也会将保证金应用于<p>

答案 1 :(得分:1)

两者都是块元素,但<p>标签预定义了一些边距/填充。您可以在任何现代浏览器中检查这两个元素并查看默认属性

有趣的是,在一致性的名义下,所有元素都被bootstrap /样板CSS文件重新定义,这些文件为所有元素提供了相同的起始外观和感觉,因此我们不再需要猜测哪些标签具有哪些默认属性。为了我们的理智,哪种方式与原始HTML规范相悖