在HTML/XHTML中<b>和<strong>, <i>和<em>之间的区别是什么?什么时候使用它们?
当前回答
<b>和<i>是显式的-它们分别指定粗体和斜体。
<strong>和<em>是语义上的-它们指定所包含的文本应该以某种方式“强”或“强调”,通常是粗体和斜体,但允许通过CSS控制实际的样式。因此,这些是现代网页的首选。
其他回答
对于文本粗体使用<b>标记
对于重要的文本,使用<strong>标记
对于文本斜体样式使用<i>标签
对于强调的文本使用<em>标签
我要冒险从历史和现实的角度来分析:
是的,根据规范,<strong>在HTML4中具有语义意义,<b>具有严格的表示意义。
是的,当HTML5出现时,b和i引入了略有不同的新语义。
是的,W3C基本上推荐TL,DR;不要用b和i。
您应该始终记住,b元素的内容不一定总是粗体,i元素的内容也不一定总是斜体。实际的样式取决于CSS样式定义。您还应该记住,在某些语言中,粗体和斜体可能不是内容的首选样式。如果有更描述性和更相关的标记可用,则不应该使用b和i标记。
BUT:
现实世界的互联网有大量的现有HTML,这些HTML永远不会更新。现实世界的互联网必须考虑在庞大的软件和CMS系统网络之间生成和复制粘贴的内容,这些软件和CMS系统都有不同的开发团队,建立在不同的时代。
因此,如果您正在编写HTML或构建一个为其他人编写HTML的系统,当然,一定要使用<strong>而不是<b>来表示“强烈强调”,因为它在语义上更正确。
但实际上,实际情况是,<strong>和<b>的语义和风格意义已经随着时间的推移而合并。
如果我正在构建一个允许任何样式文本粘贴的CMS,我需要为正在粘贴<b>并表示“强烈强调”的人以及正在粘贴<strong>并表示“使此文本加粗”的人进行计划。这可能不是“正确的”,但这就是现实世界在这个时刻的运作方式。
因此,如果我为该网站写一个样式表,我可能最终会写一些样式,看起来像这样:
b,
strong {
font-weight: 700;
/* ... more styles here */
}
i,
em {
font-style: italic;
/* ... more styles here */
}
或者,我将依赖于浏览器的默认值,它在我所知道的每个现代浏览器中执行与上述代码相同的任务。
或者,我可能是数百万个使用normalize.css的网站之一,它会注意确保b和strong被同等对待。
世界上已经有如此庞大的HTML海洋在这个期望下工作,我只是无法想象b会被贬低而支持strong,或者浏览器会开始默认地以不同的方式显示它们。
就是这样。这就是我对语义、历史和现实世界的看法。b/i和strong/em是一样的吗?不。在现代文明崩溃之前,它们是否可能在几乎所有情况下都存在并被视为相同?我想是的。
<strong>和<em>为您的文档添加额外的语义含义。它只是这样,他们也给你的文本一个粗体和斜体样式。
你当然可以用CSS覆盖它们的样式。
另一方面,<b>和<i>只应用字体样式,不应该再使用。(因为你应该使用CSS格式,如果文本确实很重要,那么你可能会让它“强”或“强调”!)
希望大家能理解。
<em>和<strong>消耗的带宽大于<i>和<b>。
它们还需要更多的输入(如果不是自动生成的话)。
它们还会让编辑器屏幕上充斥着更多的文本。我似乎记得程序员喜欢小一点的源文件,如果它们是相同的。(让我们面对现实吧,它们是一样的。是的,确实存在“技术”差异(<i>咳嗽</i>,咳咳,不好意思),但这基本上是假的。)
对于上面的任何标记,如果您需要它们与默认呈现不同,您可以使用样式表自定义它们的显示方式。
“它们的效果是一样的。但是,XHTML(一种更干净、更新的HTML版本)推荐使用<strong>标记。Strong更好,因为它更容易读懂——它的意思更清楚。此外,<strong>传达了一种含义-强显示文本-而<b>(用于加粗)传达了一种方法-将文本加粗。使用strong,如果您使用CSS样式表更改使文本强的方法,那么您的代码仍然有意义。
<i>和<em> "之间的差异也是如此。
谷歌迪克西特:
http://wiki.answers.com/Q/What_is_the_difference_between_HTML_tags_b_and_strong
推荐文章
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?
- 把<script>标签放在</body>标签之后是错误的吗?
- 谷歌Chrome表单自动填充和它的黄色背景