<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'用于网页中的块或区域。 例如,它可以用来制作标题的区域。
可能可以互换使用,但你不应该。