<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?
Posted
技术标签:
【中文标题】<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?【英文标题】:Does it matter <strong> in <em> or <em> in <strong>? 【发布时间】:2011-01-13 02:56:57 【问题描述】:<strong>
在<em>
中是否重要
<p><strong><em>Some text</em></strong></p>
或<em>
中的<strong>
?
<p><em><strong>Some text</strong></em></p>
哪个语义正确且更易于访问?
更新:
屏幕阅读器在这两种情况下的表现如何?
【问题讨论】:
【参考方案1】:语法正确但语义不正确。 <strong>
可以说是<em>
的“高阶”形式。如果您正在寻找<b>
和<i>
的效果,请使用CSS。记住不要因为元素的外观而选择元素,而是因为它们的含义。
【讨论】:
【参考方案2】:只要您没有混淆结束标签的顺序,您列出的两种方式都是完全正确的标记方式。这是不正确的:
<p><em><strong>Some text</em></strong></p>
【讨论】:
【参考方案3】:如果你关心语义,你应该避免在一个元素上同时使用em
和strong
。
Strong:呈现为强调的强烈 文字
(via)
如果您关心有效的 html,那么这两种解决方案都很好且有效。
【讨论】:
我编辑了我的答案。冗余不是最好的解决方案。如果您关心默认样式,那么您应该开始使用良好的重置 css 并自己定义一切! 编辑:OP 删除了他的评论,所以我在此评论中所说的话没有多大意义 注意:如果您希望文本加粗和斜体(em+strong 就是这样做的),请使用 em 或 strong,并使用 CSS 更改它们的效果。这就是“干净”的方式...... 我完全同意@sleske,它会产生更清晰的代码。 font-style:bold // 字体装饰:斜体【参考方案4】:根据w3strong
是强调。这意味着em
和strong
不应在语义上一起使用,因为strong
已经是em
。
如果您认为强烈的强调应该是粗斜体,我认为您应该添加一个 CSS 声明,在其中将强烈的样式设置为粗斜体。
【讨论】:
【参考方案5】:从视觉效果的角度来看,没关系。
就语义而言,这很重要,因为您在同一元素(某些文本)中使用了强调和强调。这与在某些地方使用h1
相同,只是因为您想要大文本而不是因为它们是标题。
EM:表示强调。
STRONG:表示更加强调。
Source
短语元素的呈现 取决于用户代理。一般来说, 视觉用户代理在 斜体和粗体字的 STRONG 文本。 **语音合成器用户代理可能 更改合成参数,例如 相应地作为音量、音调和速率。
所以要小心。使用 CSS 来完成视觉效果,而不是标记。
【讨论】:
但是如果我们将使用 css,那么如果 css 在浏览器中被禁用,那么文本将不会像我想要的那样 您真的关心语义/可访问性吗?要完全实现它,您应该分离内容、表示和行为层。 titleandsummary.com/… 害怕屏幕阅读器不想使用 css 是没有意义的,因为有屏幕阅读器的人对文本 看起来 不感兴趣,他们对什么文本感兴趣意味着。【参考方案6】:在 (X)HTML5 中,定义/含义是:
em
: 表示其内容的重音强调(改变句子的意思)
strong
: 表示其内容的重要性(不改变句子的意思)
所以原则上这些元素可以一起使用。
要获得一个想法,请考虑大声朗读文本(但取决于语言):em
可能会改变语调(重音),strong
可能会增加响度。
我认为在语义上使用<strong><em>foo</em></strong>
或<em><strong>foo</strong></em>
没有区别;至少我在规范中找不到任何相关内容。
【讨论】:
以上是关于<em> 中的 <strong> 或 <strong> 中的 <em> 重要吗?的主要内容,如果未能解决你的问题,请参考以下文章
CSS里<em></em> <strong></strong>是啥意思?