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

l--*_*''' 181 html

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

它们可以互换使用吗?有哪些应用?

And*_*are 288

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

语义使一切变得不同.HTML是一种标记语言,这意味着它旨在以对标记的使用者有意义的方式"标记"内容.大多数开发人员认为文档的语义是浏览器应用于这些元素的默认样式和呈现,但事实并非如此.

您选择标记内容的元素应描述内容. 不要根据文档的外观标记文档 - 根据文档的内容进行标记.

如果您需要通用容器 纯粹用于布局目的然后用一个<div>.如果您需要一个元素来描述一段内容,那么请使用<p>.

注意: 要明白,这两个是很重要的<div>,并<p>块级元素,这意味着大多数浏览器将把它们以类似的方式.

  • 当你说'<p>`用于"内容段落"时,内容必须是字母和单词的形式吗?你会用`<p>`来描述一些其他类型的内容,比如图像吗? (4认同)
  • @drs: &lt;p&gt; 允许的内容是“短语内容”,它由与普通字符数据混合的短语元素组成。顺便说一句,图像属于短语元素,因此您可以在 &lt;p&gt; 内使用它们。参考文献:http://w3.org/TR/html-markup/p.html 和 http://www.w3.org/TR/html-markup/common-models.html#common.elem.phrasing。华泰 (3认同)
  • 你忘了提到你可以用div来制作p's.至于"不包括html中的布局信息"这种态度:不打算写一个html文件而不打扰它应该看起来如何.您对div的顺序和嵌套的选择将始终产生影响 - 除非您编写一些javascript将您的页面分开并重新构建它.因此,将div视为"通用容器*纯粹用于**布局**目的*"是正确的措辞. (2认同)

cee*_*yoz 64

所有好的答案,但有一个我还没有看到的差异,这就是浏览器默认情况下渲染它们的方式.主要的Web浏览器将<p>在段落的上方和下方呈现带有边距的标记.一个<div>标记将没有任何余量都被渲染.

  • 问题是DIV和P标签之间存在什么差异.对于没有使用CSS重置的人来说,这是一个重要的选择,特别是对于只使用一个浏览器的人来说,这可能是不明显的. (14认同)
  • 如果要控制渲染,则应使用CSS.不要依赖浏览器的当前默认值. (8认同)
  • 谢谢你的澄清.我正在寻找这个确切的区别,因为使用P标签导致文本在顶部(可能是底部)出现边缘,所以想知道该空间的来源.需要摆脱空间. (3认同)

cle*_*tus 57

<p> 表示段落并具有语义含义.

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

任何可以进入的东西都<p>可以进入,<div>但反之则不然.<div>标签可以将块级元素作为子级.<p>元素不能.

请看一下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 -->
Run Code Online (Sandbox Code Playgroud)

  • 所以你不能在<p>中有一个<h1>? (3认同)

Ash*_*wal 8

两个元素之间的唯一区别是语义.默认情况下,这两个元素都有CSS规则显示:块(因此块级)应用于它们; 仅此而已(在某些情况下除了一些额外的余量).然而,如前所述,它们在语义方面都有很大不同.

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

<div>然而,该元素在语义上几乎没有意义,因此可以用作通用的块级元素 - 最常见的是,人们在布局中使用它,因为它在语义上没有意义,并且通常可以用于任何你可能需要块的东西 -等级元素.

链接了解更多细节

  • 最后一句没有必要.几乎所有关于这个网站的问题都可能被谷歌搜索,但这不是重点.重点是为将来的开发人员提供相同问题的资源. (3认同)

bdl*_*bdl 7

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


Hoq*_*que 7

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

"DIV"标签可以包装"P"标签,而"P"标签不能包装"DIV"标签 - 到目前为止,我知道这种差异.可能还有更多其他差异.


Cha*_*ere 6

<p> 代表一个段落,而 <div> 代表一个“部门”,我认为主要区别在于 div 在语义上是“无意义的”,而 <p> 应该代表与文本本身相关的内容。

例如,您不希望有嵌套的 <p> ,因为这没有太多语义意义(除了引号的意义),而人们使用嵌套的 <div> 进行页面布局。

根据维基百科

在 HTML 中,当文档的某些部分无法由其他 HTML 元素进行语义描述时,将使用 span 和 div 元素。


Sur*_*ran 5

将其DIV视为分组元素.您将元素放在DIV元素中,以便您可以设置它们的对齐方式

"p"只是创建一个新的段落.


Dan*_*ite 5

标签p用于段落,通常用于文本。标签div用于划分,通常用于创建文本部分。


vec*_*ran 5

<p>在语义上通常用于文本、段落。

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

它们可能可以互换使用,但您不应该这样做。


LeO*_*LeO 5

除了已经给出的答案之外,还有一个主要区别:

  • div可以包含其他div元素
  • p不能包含另一个p元素

这意味着div可以堆叠而p不能堆叠!