17

I see the <p> tag used a lot in the code of others but have never used it in my own work.

I'm wondering what advantage this gives over using a <div> tag?

  1. Are there any benefits I could get from incorporating the <p> tag into my pages?

  2. Is there any disadvantage in only using <div> tags without <p>?

4

7 回答 7

28

DIV indicates a separate section on a page, which is not semantically connected to the others. With P tags you indicate that this piece of text is broken into paragraphs but it still stays a single entity.

ADDED: With "semantics" people usually refer to the possibility to extract information from HTML as to what various elements of a page represent and how they are related to each other, as opposed to treating the whole HTML as just a markup to be rendered. For example, when you do menus it is recommended that you use ULs (unordered list) for that purpose, because it will be possible to learn from the markup that all LIs (list items) contained within a particular list probably mean choice options of the same level. I know it is helpful for screen readers for impaired people that you try to make your markup as semantic-rich as possible.

If you're not concerned with this, then it is virtually no difference for the rendered result whether you use DIVs or Ps. You can style both with CSS to achieve the same look and feel.

Semantic HTML is still not "the absolute good" to be strived for. For many people semantics does not add any value as they wish just that their pages are rendered correctly. That's why the ever-lasting discussion on whether to use tables for markup (and add semantics where it does not belong) or stick to CSS is not going to end any soon.

于 2009-05-25T16:27:53.370 回答
10

p 表示“段落”,div 表示“划分”。这很复杂。这是一种告诉搜索引擎、抓取工具、工具等这是一段文本的方式。

当您实际标记文本的“段落”时,div 是不可取的。

于 2009-05-25T16:44:23.310 回答
6

这两个标签有不同的用途。

  • p表示一个段落,通常用于组织内容(主要是文本和图像)
  • 另一方面,div是画布上的一个矩形空间,通常用于布局目的。

示例:您可以将导航面板放在一个 div 中,以便轻松地将其从页面的左侧移动到右侧,或者切换到 3 列布局。导航中的不同部分(首先是一般站点导航,下一个指向最新博客文章的特定热链接或其他)可以通过将它们放在不同的段落中来分开。

(我知道,不好的例子,因为导航更好地由无序列表表示,但是嘿)。

在直接回答您的问题时,它们为您提供了区分组织布局和组织内容的优势,其方式在 HTML 源代码中变得清晰。

于 2009-05-25T16:42:49.350 回答
4

如果您正在标记内容以便可以使用 CSS 进行布局,您可能需要<div>; <p>应该用来表示一段文字,就是这样。

于 2009-05-25T16:39:31.570 回答
3

我能从合并中获得什么好处吗

标记到我的页面?

是的,只要您正确使用它——因为使用语义 HTML 总是有好处的。

造成这种情况的原因有很多,但对于需要快速解释的人来说,最主要的原因是 SEO。如果您使用语义 HTML,搜索引擎会更好地理解您的页面。

于 2009-05-26T00:02:18.927 回答
3

除了它的语义(这很重要)之外,您还需要考虑验证问题。根据 HTML4 规范,您不能在 a 中嵌套其他块级元素(<div><ul>、 other<p>等)<p>而不会使您的 HTML 无效。

我见过很多解析器会选择过早关闭<p>以允许其他嵌套块元素开始的实例。

于 2009-05-25T17:10:03.187 回答
1

p 标签用于段落。p 标签通常包含关于进入它们的文本内容的附加 CSS 样式,并且可以在 css 文档的不同位置定义此样式。例如,ap 通常在其下方有一些额外的空间。如果您尝试使用 p 标签布置某些东西,您最终会得到不均匀的填充。

如果您想从程序化的角度更好地控制页面中的内容,最好使用 div。为所有布局问题坚持使用 div 也将允许您将 p 标签专门用于段落。

于 2010-08-24T15:33:19.970 回答