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

tar*_*yte 27 html5

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

<div>
  Cheerio, worldie!
</div>
Run Code Online (Sandbox Code Playgroud)

VS:

<div>
  <p>Hello, world!</p>
</div>
Run Code Online (Sandbox Code Playgroud)

Jos*_*eim 23

语义的角度来看,您应该始终将您的内容置于意义的容器中.

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

<div>
  - Buy groceries<br>
  - Clean my room<br>
  - Learn HTML
</div>
Run Code Online (Sandbox Code Playgroud)

但是,这只是看起来像一个名单,但从一个语义来看,这只是普通的文本,如<div>元素没有任何语义含义(它们仅用于布局的目的).

一个合适的语义列表如下所示:

<ul>
  <li>Buy groceries</li>
  <li>Clean my room</li>
  <li>Learn HTML</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在它真的是一个清单.

那么:为什么这很重要?

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

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

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

  • 关于语义,在`p`中包含少量单词,而不是句子**,而不是`div`更好吗?考虑一个段落由一个或多个句子按语法组成...... (13认同)
  • 这些列表项应该包含在 `&lt;p&gt;` 中吗? (4认同)

Ant*_*ala 13

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

A <p>会告诉一个<div>元素中的文本被分成段落,因此如果你把文本拆分成段落,你应该使用<p>; 另一方面,a <p>不能包含所谓的措辞内容以外的元素 ; 因此你不能拥有一个<div>内部<p>.

  • 虽然它确实适用于不使用辅助技术的用户的“&lt;div&gt;”,但我相信这根本没有考虑到可访问性。 (2认同)