可以在没有段落标记的div中使用文本吗?

时间:2015-02-15 18:14:29

标签: html5

我试图了解<p>标记的效用。我想写更少的HTML,并且总是为了简化一般事情,但感觉我听到有人提到为了SEO目的或清晰度或其他东西,所有文本都应该存在于段落标签中?它似乎只是需要处理的一组保证金/填充/边境/ css业务。我不会通过某种linting工具吗?

<div>
  Cheerio, worldie!
</div>

Vs的:

<div>
  <p>Hello, world!</p>
</div>

2 个答案:

答案 0 :(得分:20)

semantical的角度来看,应始终将您的内容置于意义的容器中。

例如,您可以创建一个项目列表(例如待办事项列表),如下所示:

<div>
  - Buy groceries<br>
  - Clean my room<br>
  - Learn HTML
</div>

但这只是看起来就像一个列表,但从语义的角度来看,它只是纯文本,因为<div>元素没有任何语义含义(它们只是意味着用于布局目的)。

正确的语义列表如下所示:

<ul>
  <li>Buy groceries</li>
  <li>Clean my room</li>
  <li>Learn HTML</li>
</ul>

现在真的是一个列表。

所以:为什么这很重要?

  • 搜索引擎优化:阅读内容的计算机(例如Google的搜索索引抓取工具)知道这是一个列表,可以做出相应的反应。在查看标题时,这是更容易理解的:<h1>元素将被搜索引擎处理,其重要性高于<b>元素(没有任何语义含义)。
  • 辅助功能:辅助软件(例如盲人或视力受损冲浪者的屏幕阅读器)可以判断这是一个列表,用户可以相应地导航(例如从一个列表项跳转到下一个列表项)

因此,一般规则是您应该始终考虑要向用户呈现的内容类型:它是一个列表(<ul>还是<ol>元素)?它是文本(一个或多个<p>元素)?它是标题(<h1><h6>元素吗?这使得各类读者可以更彻底地解读您的内容。

因此,从技术角度来看,文本在裸<div>元素(不包含任何语义含义)中绝对有效,从内容的角度来看,绝对应该使用<p>元素在您的网站上显示文字时。由于所有网站都是关于他们的内容,因此您应该彻底遵循此规则。

答案 1 :(得分:12)

是的,没有<div>可以使用<p>元素。

<p>会告诉<div>元素中的文本被拆分为段落,因此如果您将文本拆分为段落,则应使用<p>;另一方面,<p> cannot contain elements other than so-called phrasing content;因此,<div>内不能有<p>