【发布时间】:2010-10-28 18:48:24
【问题描述】:
我看到<p> 标签在其他人的代码中使用了很多,但从未在我自己的工作中使用过。
我想知道这比使用<div> 标签有什么优势?
我能得到什么好处吗 从合并
<p>标签 进入我的页面?只有在 使用没有
<p>的<div>标签?
【问题讨论】:
我看到<p> 标签在其他人的代码中使用了很多,但从未在我自己的工作中使用过。
我想知道这比使用<div> 标签有什么优势?
我能得到什么好处吗
从合并<p> 标签
进入我的页面?
只有在
使用没有<p> 的<div> 标签?
【问题讨论】:
DIV 表示页面上的单独部分,在语义上与其他部分没有联系。使用 P 标记可以表明这段文本被分成几段,但它仍然是一个实体。
添加:对于“语义”,人们通常指的是从 HTML 中提取信息的可能性,以了解页面的各种元素代表什么以及它们如何相互关联,而不是将整个 HTML 视为只是一个标记被渲染。例如,当您使用菜单时,建议您为此目的使用 UL(无序列表),因为可以从标记中了解到,包含在特定列表中的所有 LI(列表项)可能意味着选择选项同一级别。我知道您尝试使标记尽可能语义丰富,这对残障人士的屏幕阅读器很有帮助。
如果您不关心这一点,那么无论您使用 DIV 还是 Ps,渲染结果几乎没有区别。您可以使用 CSS 设置两者的样式以实现相同的外观。
语义 HTML 仍然不是要争取的“绝对优势”。对于许多人来说,语义不会增加任何价值,因为他们只是希望他们的页面能够正确呈现。这就是为什么关于是否使用表格进行标记(并在不属于的地方添加语义)或坚持 CSS 的持久讨论不会很快结束的原因。
【讨论】:
不能包含的子元素:
的子元素只是内联元素和文本节点。
p 表示“段落”,div 表示“划分”。这很复杂。这是一种告诉搜索引擎、抓取工具、工具等这是一段文本的方式。
当您实际标记文本的“段落”时,div 是不可取的。
【讨论】:
用于段落,因此对于列示例,您将有一个
默认总是有边距,而
两个标签的用途不同。
示例:您可以将导航面板放在一个 div 中,以便轻松地将其从页面的左侧移动到右侧,或者切换到 3 列布局。导航中的不同部分(首先是一般网站导航,下一个指向最新博客文章的特定热链接或其他)可以通过将它们放在不同的段落中来分隔。
(我知道,不好的例子,因为导航更好地由无序列表表示,但是嘿)。
在直接回答您的问题时,它们为您提供了区分组织布局和组织内容的优势,在 HTML 源代码中变得清晰。
【讨论】:
如果您要标记内容以便使用 CSS 进行布局,您可能需要<div>; <p> 应该用于表示一段文本,仅此而已。
【讨论】:
s 对段落很有用,但除了在段落之间添加一些空间或缩进行等之外,实际上对布局没有任何用途。也就是说,典型的布局可能会使用
s 的块
s 用于主要块,包括放置
s 的块?
除了它的语义(这很重要)之外,您还需要考虑验证问题。根据 HTML4 规范,您不能在 <p> 中嵌套其他块级元素(<div>、<ul>、其他 <p> 等)而不会使您的 HTML 无效。
我见过很多解析器会选择过早关闭<p> 以允许其他嵌套块元素开始的实例。
【讨论】:
我能得到什么好处吗 从合并
标签进入我的 页面?
是的,只要您正确使用它——因为使用语义 HTML 总是有好处的。
造成这种情况的原因有很多,但对于需要快速解释的人来说,最主要的原因是 SEO。如果您使用语义 HTML,搜索引擎会更好地理解您的页面。
【讨论】:
p 标签用于段落。 p 标签通常包含关于进入它们的文本内容的附加 CSS 样式,并且可以在 css 文档的不同位置定义此样式。例如,p 通常在其下方有一些额外的空间。如果你尝试用 p 标签来布置东西,你最终会得到不均匀的填充。
如果您想从程序化角度更好地控制页面中的内容,最好使用 div。为所有布局问题坚持使用 div 也将允许您将 p 标签专门用于段落。
【讨论】: