在html/xhtml中,和、和有什么区别?你应该什么时候使用?
- 因此,programmers.stackexchange.com湖上255588 / / /
- 至少现在,我真的什么都"粗体"使用元件计算器
- 安切洛蒂将清晰的描述(有例子)在标签使用的知识基础:应,,,
它们在普通的Web浏览器渲染引擎上有相同的效果,但是它们之间有一个根本的区别。
正如作者在讨论列表中所写:
想想三种不同的情况:
"粗体"是一种风格——当你说"粗体字"时,人们基本上知道它意味着在字母周围加上更多的,比如说"墨水",直到它们突出。其他信件中更多。
不幸的是,这对盲人来说毫无意义。在手机上而其他的PDA,由于屏幕分辨率很小,文本已经很粗了。你不能不把事情搞砸就大胆一点。
是一种风格——我们知道"粗体"应该是什么样子。
但是,表示应该如何理解某些东西。"在浏览器中,"strong"可以(通常也可以)表示"粗体",但它也可以表示语言程序的低音,如"jaws"(盲人),或者在Palm Pilot上用下划线(因为你不能粗体)。
HTML从来就不是关于样式的。搜索"tim berners-lee"和"语义网"。是语义的,它描述了它所包围的文本(例如,"此文本应该比您所显示的其他文本更强"),而不是描述它所包围的文本应该如何显示(例如,"此文本应该是粗体")。
- 请注意,HTML5中没有弃用和。它们的新用途是在语义上表示样式(或预期的表示),而表示结构。您必须阅读stellify.net/…
- 很好的答案,但是我会说"你不能用粗体加粗体"是错误的,因为你假设它是一个布尔概念,当字体粗体:采用一种更可变的方法时。既然存在高保真屏幕,就有了大胆的程度。
- @Traviso我相信他是在谈论Palm飞行员的具体技术限制。
- 我不相信一堆字母有任何内在的意义,可以有完全相同的语义,如果我们决定这样。读者的创造者们是怎么决定的,他们是以不同的方式还是完全相同的方式对待他们?
- @迪塔普里尔,但他们有!它们确实有意义!HTML不是由你所相信的或你所决定的来定义的。
- 您的讨论列表帖子链接已断开。有其他资源吗?
- 信息丰富的答案,但如果我做得对,唯一实际的区别是当它涉及到文本到语音转换软件?尽管如此,对于我来说,拥有一个以上的标签来做一些大胆的事情似乎是徒劳的。当有人访问一个网站时,他看不到使用了哪个标签,因此没有区别。
- @Traviso字体粗细为CSS。
- @Poepje:如果表示是所有重要的,语义不是一个问题,那么是的,就不会有太大的区别。
- @Poepje……但是语义应该一直是一个关注点。你永远不知道什么时候你会想要重新定位,或者为了更一般的目的修改网页之类的东西。由于某些样式表/标记技术确实对和标记进行了不同的处理,因此即使您最初没有计划让不同的技术看到标记,也无法保证不会有任何差异。(尤其是在网络的情况下,你完全不知道人们将如何使用你的内容。)
- 这个软件工程的答案现在也很好地总结了情况。
- 我喜欢这样的例子:一个说话程序的低音,比如说"大白鲨"(对于盲人)。
- 在HTML5下(7年后),我不同意"是一种风格——我们知道"粗体"应该是什么样子的"——见stackoverflow.com/a/1348704/2864740。HTML5ld也显式地调用了"样式表可以用来格式化B元素,就像其他元素可以重新格式化一样。"因此,B元素中的内容不一定要加粗。"
- @斯普拉特:"然而,这是一个应该如何理解的迹象。"在浏览器中,"强"可以(而且经常是)表示"粗体",但对于像"大白鲨"(盲人)这样的口语程序来说,它也可以表示较低的音调。掌心飞行员的强项可能是一个下划线(因为你不能用粗体字加粗体)。"这对是一样的吗?通常呈现为斜体,但在某些受限上下文中,其他呈现的语义潜力相同吗?
- @natanyellin如果说HTML只用于结构,那么为什么这些样式标记没有从HTML5中删除?我认为这是前后矛盾的。标签center、strike和u从标准中删除。
和是明确的-它们分别指定粗体和斜体。
和是语义的,它们规定了所附的文本应该以某种方式"强"或"强调",通常是粗体和斜体,但允许通过css控制实际的样式。因此,在现代网页中,这些是首选的。
- 很好的解释。另一方面,对于HTML5,它也是语义的,而不是显式的。叹息。
- 是吗?我落后于时代…!
- 是的,我读过的最好的解释是stellify.net/…
- HTML5对b和i有新的语义意义。当你需要注意散文的某一部分,或是为了抵消普通的散文,而不需要强调(em、重要性(strong)或相关性(mark)时,你应该使用这些标签。b用于关键词、产品名称、可操作词等,i用于技术术语、思想、短语等,老实说,在我看来,两者之间需要有更大的区别。
- 太糟糕了,Stellify.net文本(和标题)在大多数廉价的办公显示器和设置上完全无法读取^(对比度的缺乏简直令人震惊)
- 那么,在现代网页中,哪一个更受欢迎呢?和?
- @沙菲扎德的目的是什么?
和为您的文档添加了额外的语义意义。恰巧,他们也给你的文本一个粗体和斜体的风格。
当然,您可以用CSS覆盖它们的样式。
另一方面,和只应用字体样式,不应再使用。(因为你应该使用CSS进行格式化,如果文本实际上很重要,那么你很可能会将其设置为"强"或"强调"!)
希望这是合理的。
- 如果你说,不应该再使用,那么不支持和的旧浏览器呢?
- @Nirman如果有人使用一个旧的浏览器浏览网页,从视觉和安全的角度来看,他或她已经有了很多问题。正因为如此,我相信程序员和设计师不应该再支持旧的浏览器了。
- 注:如果我们说的是旧浏览器,我们这里指的是Netscape 3和IE2(IE3和NS4已经支持和)。如果你真的需要继续支持那些20世纪的浏览器,你就真的遇到了很大的麻烦。
当然,虽然和在语义上更为正确,但使用和标签作为客户写的内容似乎有明确的正当理由。
在这些内容中,单词或短语可能会加粗体或斜体,我们通常不需要分析这种加粗体或斜体的语义推理。
此外,这些内容还可以指粗体和斜体字和短语,以表达特定的含义。
一个例子是一个英语试题,它指示学生替换粗体字。
以下是定义和建议用法的摘要:
…一种文本范围,为了功利的目的而吸引人们的注意力,而不传递任何额外的重要性,也不影响其他声音或语气,例如文档摘要中的关键词、评论中的产品名称、交互式文本驱动软件中的可操作词或文章LEDE。
…现在代表着重要性而不是强烈的强调。
:一段交替的声音或语气的文本,或以一种表示不同文本质量的方式从普通散文中抵消的文本,如分类名称、技术术语、来自其他语言的习语短语、思想或西方文本中的船名。
表示强调。
(这些都是来自W3C来源的直接引用,我的重点也增加了。原版见:https://rawgithub.com/whatwg/html differences/master/overview.html changed elements和http://www.w3.org/tr/html401/struct/text.html h-9.2.1)
和都与样式有关,而和都是语义的。在HTML4中,第一个元素被分类为字体样式元素,第二个元素被分类为短语元素。
正如您正确指出的,和通常被认为是相似的,因为浏览器通常都以斜体显示。但根据规范,表示强调,表示强调,这一点很清楚,但经常被误解。另一方面,区分何时使用或实际上是一种风格问题。
- strong并不表示"加强强调",而是表示"重要性"。为了加强强调,将em元素嵌套在另一个em元素中。
- @testsubject528491如果你按照我上面使用的短语元素的链接,你会看到我刚刚引用了规范。我不认为这与重要性的语义相冲突,也不认为两个em的强调嵌套在一个强调中,我理解你的建议。
- 我认为HTML5规范只是在区分两者。在我的解释中,"强调"是指声调上的压力。"你想穿牛仔裤吗?"与"你想买那些牛仔裤吗?"由于强调的位置而具有不同的含义。Otoh,"重要性"没有基于位置的影响。例如,"警告:小心狗!"如果重要性被消除,也会有同样的含义。
正如其他人所说,这是明确的(即"将此文本加粗"),而和是语义的(即"应强调此文本")。
在现代网络浏览器的背景下,很难看出两者之间的区别(它们似乎产生了相同的结果,对吧?)但要考虑屏幕阅读器的视觉障碍。如果屏幕阅读器看到一个标签,它就不知道该怎么做。但是,如果它遇到了一个标签,它知道里面的任何东西都应该被听众强调。在这里,你得到了实际的区别。
正如其他人所说,不同之处在于,和硬编码字体样式,而和则规定语义,字体样式(或者说浏览器语调,或者说什么)将在文本呈现(或者说什么)时确定。
如果愿意,您可以将其视为"物理"字体样式和"逻辑"字体样式之间的区别。稍后,您可能希望更改和文本的显示方式,例如,通过更改样式表中的属性来添加颜色和大小更改,甚至完全使用不同的字体。如果您使用了"逻辑"标记而不是硬编码的"物理"标记,那么您只需在样式表中的一个位置更改显示属性,然后就可以自动更改引用该样式表的所有页面,而无需编辑它们。
相当圆滑,是吗?
这也是为段落、表格单元格、标题文本、标题等定义子样式(使用文本标记中的style=属性引用)和使用标记的基本原理。您可以在样式表中为逻辑样式定义物理表示,并且更改将自动反映在引用该样式表的网页中。要对源代码使用不同的表示形式吗?为"代码"样式重新定义字体、大小、重量、间距等。
如果使用XHTML,甚至可以定义自己的语义标记,样式表将为您转换为物理字体样式和布局。
- 您可以使用样式表来完全更改和的呈现方式。相当圆滑,是吗?
仅当使用CSS样式类是因为任何原因不可行或不可能时才使用它们(如博客系统,只允许在文章中使用某些标记,最终嵌入样式)。另一个原因是支持非常老的浏览器(一些移动设备?)或者原始的搜索引擎(为或标记打分,而不是分析css样式)。
如果可以定义CSS样式,请使用它们。
和比和消耗更多的带宽。
它们还需要更多的类型(如果不是自动生成的话)。
它们还会使编辑器屏幕上出现更多的文本。我似乎记得程序员喜欢较小的源文件,如果它们相同的话。(让我们说实话,它们是一样的。是的,有"技术上的"(咳嗽,嗯,对不起)的区别,但这主要是虚假的开始。)
使用上述任何标记,如果需要样式表显示不同于其默认渲染,可以使用样式表自定义它们的显示方式。
HTML格式元素:
HTML还定义了用于定义具有特殊含义的文本的特殊元素。HTML使用像和这样的元素来格式化输出,比如粗体或斜体文本。
HTML粗体和强格式:
The HTML element defines bold text, without any extra importance.
The HTML element defines strong text, with added semantic
"strong" importance.
HTML倾斜和强调的格式:
The HTML element defines italic text, without any extra
importance.
The HTML element defines emphasized text, with added semantic
importance.
i、b、em和强标记通常具有代表性。但它们在HTML5中被赋予了新的语义意义。
i和b用于HTML4中的字体样式。我用斜体字,B用粗体字。在HTML5中。i标签有"交替的声音或情绪"的新语义,b标签有风格上的偏移意义。
i标记的示例用法包括:分类名称、技术术语、来自另一种语言的惯用短语、音译、思想、西方文本中的船名。如:
4
B标签的示例用法包括文档摘录中的关键字、评论中的产品名称、交互式文本驱动软件中的可操作词、文章标题。
下面的示例段落与后面的段落在风格上相互抵消。
1 2 3
| <p>
<b class="lead">The event takes place this upcoming Saturday, and over 3,000 people have already registered.
</p> |
Em和Strong在HTML4中具有强调和强调的意义。但在HTML5中,em表示强调,strong表示高度重视。
在下面的例子中,在阅读单词之前应该有一个语言上的变化…
1 2 3
| <p>
Make sure to sign up before the day of the event, September 16, 2016
</p> |
在同一个示例中,我们可以使用如下的强标记。
1 2 3
| <p>
Make sure to sign up before the day of the event, September 16, 2016
</p> |
重视活动日期。
DDN:
https://developer.mozilla.org/en-us/docs/web/html/element/b
https://developer.mozilla.org/en-us/docs/web/html/element/i
https://developer.mozilla.org/en-us/docs/web/html/element/em
https://developer.mozilla.org/en-us/docs/web/html/element/strong
我同时使用和,实际上,正是因为在这个回答的线索中提到的原因。有些时候,粗体文本看起来更好,但在语义上并不比句子的其他部分更重要。下面是我正在处理的一个页面的示例:
"检索有关长曲棍球的所有书籍。"
在那句话中,"all"这个词很重要,"曲棍球"就不那么重要了——我只是想让它加粗,因为它代表了一个搜索词,所以我想要一些视觉分离。如果你是在用屏幕阅读器浏览网页,我真的不认为需要特别强调"长曲棍球"这个词。
我倾向于想象大多数Web开发人员使用其中一个,但两者都很好——正如一些人所说,这绝对不是不推荐的。对我来说,这只是视觉吸引力和意义之间的一条细线。
B或I表示您希望将文本呈现为粗体或斜体。STRONG或EM表示希望以用户理解为"重要"的方式呈现文本。默认设置是将粗体和斜体显示为粗体,但某些其他文化可能使用不同的映射。
就像程序中的字符串一样,b和i将被"硬编码",而strong和em将被"本地化"。
"它们有同样的效果。然而,XHTML是一个更干净、更新的HTML版本,它建议使用标记。强是更好的,因为它更容易阅读——它的意思更清楚。此外,表示一种意义——强烈地显示文本——而表示一种方法——加粗文本。使用strong时,如果您使用CSS样式表来更改使文本变强的方法,那么您的代码仍然是有意义的。
相同的情况也适用于和之间的差异。
谷歌DIXIT:
http://wiki.answers.com/q/what_the_the_-html_-tags_-b_和_-strong之间的区别
应避免使用和,因为它们描述了文本的样式。相反,使用和,因为它描述了文本的语义(含义)。
和HTML中的所有东西一样,您应该考虑的不是您希望它看起来怎么样,而是您的实际意思。当然,它对你来说可能只是粗体和斜体,但对屏幕阅读器来说可能不是。
- 完全错误,不应避免。它们在HTML5中具有语义意义。
你应该尽量避免使用和。它们是为"布局"页面而引入的(就像同时删除的font标记),布局在HTML中不应该做任何事情,它应该在CSS(htm==structure,css==layout)中做。这些标签也可能在将来消失,毕竟你可以使用css和span标签来使文本加粗/倾斜。
另一方面,和只说某件事是"强调"或"强烈强调",它让兄弟们完全了解如何渲染它。大多数浏览器都会将其呈现为斜体和粗体,但不会强制它们这样做(它们可能使用不同的颜色、字体大小、字体等)。你可以使用CSS来改变你想要的行为方式。如果你愿意的话,你可以让它们变大胆,例如,强壮的大胆和红色。
- 并且在HTML4中没有被弃用,即使在即将到来的HTML5中仍然完全支持它。而不是它们的替代品。另请参见w3.org/tr/html401/index/elements.html
- @托马斯鲁特,他们仍然在HMTL5,但有一个不同的含义,并有一个非常详细的解释,如何使用它们,或者更确切地说,如何不使用它们。请注意,这些标记没有意义(粗体和斜体不是意义,它们是设计说明,而hmtl是意义,css是aobt design)-html是描述文本是什么,而不是描述如何呈现文本(出于一个好的原因,它在hmtl3之后被分隔开)。
和是抽象的(这就是人们说它是语义的意思)。和是使事物"强大"或"强调"的具体方法。
::车辆::吉普
我们使用标记作为文本,它具有很高的SEO优先级,例如产品名称、公司名称等,而简单使其变为粗体。
同样,我们使用来表示SEO优先级高的文本,而则使文本简单地倾斜。
- 有些HTML标签确实有SEO应用程序。元描述、元机器人或链接规范等等。因为据我们所知,无论在理论上还是在实践上,强/电磁都不是其中之一。