<div>标签内的文本-语义上是否正确?

17

我们中的大多数人之前都见过这样的东西:

<div class="rights">All rights reserved!</div>

我只是想知道,这是一个正确的工作吗?或者即使它在浏览器中呈现,使用<p>标签会更好吗?
我问这个问题是为了了解是否存在任何Google(SEO)、页面加载时间、兼容性、HTML有效性等问题或缺点。


这个问题过于宽泛和不具体,而且主要基于个人观点。在像这样的简单情况下,“div”和“p”的理论区别在于,“div”没有语义,而“p”有模糊、抽象和有争议的“语义”,即段落,在任何HTML规范或草案中都没有真正定义。 - Jukka K. Korpela
4个回答

6
首先,大多数浏览器都会自动在<p>标签周围添加空白(边距)。
使用或不使用<p>标签并不会对性能造成真正的影响。此外,HTML也不会无效。
使用此标签的主要原因是向浏览器指示您正在定义块元素。
这不会影响搜索引擎优化。 编辑:在您的示例中,最好使用<p>标签,因为<div>也是块元素,除了文本以外没有其他内容,所以更具体。

5

来自W3.org的div元素

建议作者将div元素视为最后的选择,仅在没有其他适当的元素可用时使用。使用比div元素更合适的元素可提高读者的可访问性,并使作者更易于维护。

至于有效性等问题,请参见panther的答案。


1
类似的警告可以在WHATWG的Living Standard https://html.spec.whatwg.org/#the-div-element中找到,通常更具权威性。 - Ben Creasy

4

使用<p>标签更安全。爬虫甚至优先考虑像<h1><h2>这样的大文本标签。

我听说爬虫也会检查CSS格式(以防您想用关键字隐藏文本),所以这也是一个因素。

至于有效性和性能,那并不重要。


2
Hx元素的优先级在过去更高,但是是的,标题仍然比段落中的文本更重要。但我不知道你在这个注释中的意思。我们谈论的是div/p,而不是标题。 - pavel

1

这应该是一个段落,但这个字符串从语义上讲并不需要(人们不会搜索此字符串来查找您的网站)。

广告。 页面加载时间 - 不,使用<p>或<br>都无关紧要。

广告。 兼容性 - 段落有边距,例如当您禁用样式时。没有其他影响。

广告。 有效性 - 两者都是HTML有效的,但有效性对SEO没有影响。无关紧要。


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