<p>和<div>有什么区别?

<p>和<div>有什么区别?

它们可以互换使用吗? 什么是应用程序?

以前的代码是

<p class='item'><span class='name'>*Scrambled eggs on crusty Italian ciabatta and bruschetta tomato</span><span class='price'>$12.50</span></p> 

所以我必须改变它

 <div class='item'><span class='name'>*Scrambled eggs on crusty Italian ciabatta and bruschetta tomato</span><span class='price'>$12.50</span></div> 

这是简单的修复。 而上面的代码的CSS是

 .item { position: relative; border: 1px solid green; height: 30px; } .item .name { position: absolute; top: 0px; left: 0px; } .item .price { position: absolute; right: 0px; bottom: 0px; } 

所以div标签可以包含其他元素。 P不应该被迫这样做。

它们具有语义差异 – 一个<div>元素用于描述一个数据容器,而一个<p>元素用于描述一段内容。

语义使所有的差异。 HTML是一种标记语言,这意味着它被devise为以对标记的消费者有意义的方式“标记”内容。 大多数开发人员认为,文档的语义是默认的样式和渲染浏览器适用于这些元素,但事实并非如此。

您select标记内容的元素应该描述内容。 不要根据文件的外观来标记文档 – 根据文档的内容对其进行标记。

如果你需要一个通用的容器 纯粹是为了布局的目的 然后使用一个<div> 。 如果你需要一个元素来描述一段内容,那么使用<p>

注意: 理解<div><p>都是块级元素是非常重要的,这意味着大多数浏览器会以相似的方式对待它们。

<p>表示一个段落,具有语义意义。

<div>只是其他内容的块容器。

任何可以进入<p>都可以进入<div>但是相反是不正确的。 <div>标签可以具有块级元素作为子元素。 <p>元素不能。

Ta看一下HTML DTD 。

 <!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 --> 

所有好的答案,但有一个区别,我还没有看到提到,这就是浏览器默认情况下呈现它们。 主要的网页浏览器将会在段落之上和之下显示一个<p>标签。 一个<div>标签将被渲染,没有任何余量。

看到W3.orgdevise的标准可能会更好。 这是地址: http : //www.w3.org/

“DIV”标签可以包装“P”标签,而“P”标签不能包装“DIV”标签 – 到目前为止,我知道这种差异。 可能还有其他更多的差异。

这两个元素之间的唯一区别是语义。 这两个元素默认都有CSS规则显示:块(因此块级)应用于它们; 没有更多(除了在某些情况下有些额外的余量)。 但是,如前所述,它们在语义上差别很大。

正如其名称所暗示的, <p>元素是用于段落的。 因此,当您要创build段落文本块时,应该使用<p>

然而, <div>元素在语义上几乎没有任何意义,因此可以用作通用块级元素 – 最常见的是,人们在布局中使用它,因为它在语义上没有意义,并且可以用于通常您可能需要的任何内容一个块级元素。

链接更多的细节

DIV是一个通用的块级容器,可以包含任何其他块或内联元素,包括其他DIV元素,而P是包装段落(文本)。

DIV想象成一个分组元素。 你把元素放在一个DIV元素中,这样你就可以设置它们的路线

"p"只是创造一个新的段落。

<p>表示一个段落,<div>表示一个“分割”,我认为主要的区别是div在语义上是“无意义的”,其中<p>应该表示与文本本身有关的东西。

例如,你不会想要嵌套的<p>,因为这不会产生太多的语义(除了引用的意义上)而人们使用嵌套的<div>来进行页面布局。

根据维基百科

在HTML中,span和div元素用于其他HTML元素无法在语义上描述文档的某些部分。

一个p标签是一个段落,通常用于文本。 div标签用于划分,通常用于创build文本段。

'p'在语义上通常用于文本,段落。

'div'用于网页中的块或区域。 例如,它可以用来制作标题的区域。

可能可以互换使用,但你不应该。