何时使用<p>标签而不是<br>标签?

78
什么时候应该使用另一个 <p>...</p> 标签而不是 <br /> 标签? 这种情况下的最佳实践是什么?
我搜索了这个问题,但大多数文章似乎有点旧,所以我不确定对于这个主题的观点是否已经发展。
编辑:为了澄清问题,这里是我正在处理的情况。你会在以下内容中使用 <br> 还是 <p>(想象它包含在首页的一个 div 中):

欢迎来到主页。

看看我们的东西。

您真的应该这样做。


这些行技术上不是“段落”。因此,你会通过用 <br> 在中间将整个块包围在 <p> 标签中进行标记,还是使用单独的 <p> 标签来标记每一行?
6个回答

77

它们具有两个不同的功能。

<p>(段落)是一个块级元素,用于包含文本。<br /> 用于在 <p> 元素内强制换行。

示例

<p>Suspendisse sodales odio in felis sagittis hendrerit. Donec tempus laoreet
est bibendum sollicitudin. Etiam tristique convallis<br />rutrum. Phasellus 
id mi neque. Vivamus gravida aliquam condimentum.</p>

结果

Suspendisse sodales odio in felis sagittis hendrerit. Donec tempus laoreet est bibendum sollicitudin. Etiam tristique convallis
rutrum. Phasellus id mi neque. Vivamus gravida aliquam condimentum.

更新

基于新的要求,我个人会使用<p>来实现间距并允许进行样式设置。如果将来您希望对其中一个部分进行样式设置,那么在块级别进行设置将更加容易。

<p>Welcome to the home page.</p>

<p style="border: 1px solid #00ff00;">Check out our stuff.</p>

<p>You really should.</p>

这个答案很有道理。然而,您能否回应我添加的示例(请参见问题中的编辑),并解释一下您的思考过程? - willthefirst

12
你需要在需要将两个信息流分开的时候使用 <p> 标签。
<p> Now is the time for all good men to come to the aid of their country. </p>

<p>The quick brown fox jumped over the lazy sleeping dog.</p>

<br/> 标签用于在网页的文本流中强制换行。在想要让文本继续到下一行的情况下使用它,例如诗歌。

<p>  Now is the time for all good men to come to the aid of their country. <br/>
The quick brown fox jumped over the lazy sleeping dog. </p>

来源


2

当您想要分隔两个段落时,请使用<p>。来自维基百科:

段落(来自希腊语paragraphos,“旁边写”或“旁边写作”)是一篇关于特定观点或思想的自包含的写作篇章。

在段落内强制换行时,请使用<br>标签。


这就是我一直在寻找的答案! - johannes

2

我可能会在这个帖子中回答一个问题时违反礼仪规则,因为到目前为止大多数答案都很好,但是这是我处理这个论点的方法:

虽然我同意'p'是用来容纳文本的元素,'br'标签用于断开文本,但在许多情况下,您可能希望操作具有实际行间距的文本块;

例如:
[我的文本块]
你好世界!
--------这是一条空白线------
你是如此充满生机!
[/我的文本块]

现在,许多人会争辩说,您可以在'div'中放置两个'p'元素,然后操作该'div',但我觉得这更加耗时(也就是说我懒),因此我坚持使用双'br'方法 - 让我只操作那个'p'。

我的非正统方法的问题在于,如果特定的样式应用于行高,则双'br'与'p'之间创建的行间距肯定会有明显差异。

我想在决定采用哪种技术时,需要考虑:

  • 代码可读性
  • 最佳实践
  • 时间
  • 缩写对代码的其余部分产生的影响

你的答案似乎是最接近正确答案的。我找到了w3.org的文档,证实了你提到的和我认为正确的... https://www.w3.org/TR/html5/grouping-content.html#the-p-element - Pothi Kalimuthu

0

我不会使用<p>标签,除非你打算在其中放置内容。当然,这仅仅是我的观点(正如我认为大多数答案都会是)。

然而,可能更容易对一个<p>标签进行样式设计(至少有更多的选项),这可能会让它更常用。我的唯一问题是,这样做不太容易阅读(在阅读代码时),我觉得那些样式可以应用于其他地方(可能是围绕<p>标签的标签)。

另外,正如其他人所说,应该使用<br />标签来分隔块元素内的内容(如<p>标签)。 如果您正在使用以下内容:

<p class="a">some content...</p>
<p class="break"></p>
<p class="b">some other content...</p>

那么我认为你应该在包围 p.break 标签的一个或两个标签上使用样式来进行所需的 间距


只需使用margin来添加空间。空的p没有意义。 - elhoucine
2
@elhoucine - 是的,那就是我想表达的意思。 - user131441

0

p 标签是块级元素,主要用于添加内容,而 br 标签用于在元素内强制换行。也就是说,如果你要遵循语义学的话。现在很多人都这样做,以便为标签等添加特定含义。希望这有所帮助。祝你好运。=)


7
这并没有为已经发布在这里的任何答案增添内容。 - Kermit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接