我试图了解<p>
标记的效用。我想写更少的HTML,并且总是为了简化一般事情,但感觉我听到有人提到为了SEO目的或清晰度或其他东西,所有文本都应该存在于段落标签中?它似乎只是需要处理的一组保证金/填充/边境/ css业务。我不会通过某种linting工具吗?
<div>
Cheerio, worldie!
</div>
Vs的:
<div>
<p>Hello, world!</p>
</div>
答案 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>
现在真的是一个列表。
所以:为什么这很重要?
<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>
。