在HTML/XHTML中<b>和<strong>, <i>和<em>之间的区别是什么?什么时候使用它们?
当前回答
<strong>和<em>为您的文档添加额外的语义含义。它只是这样,他们也给你的文本一个粗体和斜体样式。
你当然可以用CSS覆盖它们的样式。
另一方面,<b>和<i>只应用字体样式,不应该再使用。(因为你应该使用CSS格式,如果文本确实很重要,那么你可能会让它“强”或“强调”!)
希望大家能理解。
其他回答
<b>和<i>都与风格有关,而<em>和<strong>是语义的。在HTML 4中,前者被归类为字体样式元素,后者被归类为短语元素。
正如您正确指出的,<i>和<em>通常被认为是相似的,因为浏览器通常以斜体显示它们。但根据规范,<em>表示强调,<strong>表示更强调,这很清楚,但经常被误解。另一方面,何时使用<i>或<b>之间的区别实际上是一个风格问题。
通常应该尽量避免<b>和<i>。它们在CSS创建之前的早期HMTL版本中被引入用于布局页面(改变它的外观),就像同时删除的字体标签一样,主要是为了向后兼容,因为一些论坛允许内联HTML,这是一种简单的改变文本外观的方法(比如BBCode使用[i],你可以使用<i>等等)。
自从CSS创建以来,布局实际上不再是HTML中应该做的事情,这就是为什么CSS被创建在第一个地方(HTML ==结构,CSS ==布局)。这些标签在未来可能会消失,毕竟,如果你需要一个“毫无意义”的字体变化,你可以使用CSS和span标签来使文本变成粗体/斜体。HTML 5仍然允许这样做,但声明以这种方式标记文本没有意义。
另一方面,<em>和<strong>只表示某些内容被“强调”或“强烈强调”,它让浏览器完全开放如何渲染它。大多数浏览器默认会将em显示为斜体和粗体,但它们并不是被迫这样做的(它们可能使用不同的颜色、字体大小、字体等等)。您可以使用CSS以您想要的方式更改行为。如果你喜欢,你可以让它们加粗,比如加粗和红色。
在HTML Lang中,这两个标签的用法如下:
simple text this is test text normal text
simple text this is important textwith normal text
这两个HTML标记之间的主要区别是,粗体只使文本在视觉上看起来粗体,而强符号也将各自的文本视为必要的,并表明它是一个清晰的单词或文本部分。
这种差异是由于HTML代码区分了符号标记和物理可视HTML标记。前者指的是相关区域的含义,后者只是定义了浏览器中的光学显示。
对于文本粗体使用<b>标记
对于重要的文本,使用<strong>标记
对于文本斜体样式使用<i>标签
对于强调的文本使用<em>标签
它们对普通的web浏览器渲染引擎有相同的效果,但它们之间有根本的区别。
正如作者在一篇讨论列表帖子中写道:
想想三种不同的情况:
web浏览器 盲人 移动电话
“大胆”是一种风格——当你说“大胆一个字”时,人们基本上都知道 这意味着在字母周围添加更多的“墨水”,直到它们突出 其余的信里有更多。
不幸的是,这对盲人来说毫无意义。在手机上 和其他pda,文本已经是粗体,因为屏幕分辨率非常小。你不能在没有搞砸的情况下加粗。
<b>是一种样式——我们知道“粗体”应该是什么样子。
然而,<strong>表示应该如何理解某些内容。“Strong”在浏览器中可能(通常)意味着“粗体”,但对于Jaws(盲人)这样的语音程序来说,它也可能意味着较低的音调,或者在Palm Pilot上用下划线表示(因为你不能用粗体加粗)。
HTML从来就不是关于样式的。搜索“Tim Berners-Lee”和“语义网”。>是语义的——它描述了它包围的文本(例如,“这个文本应该比你所显示的其余文本更强”),而不是描述它包围的文本应该如何显示(例如,“这个文本应该是粗体”)。
推荐文章
- CSS/HTML:什么是使文本斜体的正确方法?
- 我如何才能在表中应用边界?
- 如何使一个DIV不包装?
- CSS div元素-如何显示水平滚动条只?
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何中心div垂直内绝对定位的父div
- 创建一个可变长度的字符串,用重复字符填充
- 有效使用< >(锚标签)没有href属性?
- 如何将全局字体应用到整个HTML文档