And*_*are 288
它们具有语义差异 - 一个<div>元素用于描述数据容器,而一个<p>元素用于描述一段内容.
语义使一切变得不同.HTML是一种标记语言,这意味着它旨在以对标记的使用者有意义的方式"标记"内容.大多数开发人员认为文档的语义是浏览器应用于这些元素的默认样式和呈现,但事实并非如此.
您选择标记内容的元素应描述内容. 不要根据文档的外观标记文档 - 根据文档的内容进行标记.
如果您需要通用容器 纯粹用于布局目的然后用一个<div>.如果您需要一个元素来描述一段内容,那么请使用<p>.
注意: 要明白,这两个是很重要的<div>,并<p>是块级元素,这意味着大多数浏览器将把它们以类似的方式.
cee*_*yoz 64
所有好的答案,但有一个我还没有看到的差异,这就是浏览器默认情况下渲染它们的方式.主要的Web浏览器将<p>在段落的上方和下方呈现带有边距的标记.一个<div>标记将没有任何余量都被渲染.
cle*_*tus 57
<p> 表示段落并具有语义含义.
<div> 只是其他内容的块容器.
任何可以进入的东西都<p>可以进入,<div>但反之则不然.<div>标签可以将块级元素作为子级.<p>元素不能.
请看一下HTML DTD.
Run Code Online (Sandbox Code Playgroud)<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;"> <!ENTITY % block "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT | BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS"> <!ENTITY % flow "%block; | %inline;"> <!ELEMENT DIV - - (%flow;)* -- generic language/style container --> <!ELEMENT P - O (%inline;)* -- paragraph -->
两个元素之间的唯一区别是语义.默认情况下,这两个元素都有CSS规则显示:块(因此块级)应用于它们; 仅此而已(在某些情况下除了一些额外的余量).然而,如前所述,它们在语义方面都有很大不同.
<p>正如其名称所暗示的那样,该元素用于段落.因此,<p>当您想要创建段落文本块时应该使用.
<div>然而,该元素在语义上几乎没有意义,因此可以用作通用的块级元素 - 最常见的是,人们在布局中使用它,因为它在语义上没有意义,并且通常可以用于任何你可能需要块的东西 -等级元素.
看看W3.org设计的标准可能会更好.这是地址:http://www.w3.org/
"DIV"标签可以包装"P"标签,而"P"标签不能包装"DIV"标签 - 到目前为止,我知道这种差异.可能还有更多其他差异.