CSS/HTML:使文本斜体的正确方法是什么?

2024-01-07

是什么correct使文本斜体的方法?我见过以下四种方法:

<i>Italic Text</i>

<em>Italic Text</em>

<span class="italic">Italic Text</span>

<span class="footnote">Italic Text</span>

<i>

这是“老办法”。<i>没有语义意义,仅传达使文本变为斜体的表现效果。据我所知,这显然是错误的,因为这是非语义的。


<em>

这使用语义标记纯粹用于表示目的。碰巧的是<em>默认情况下以斜体呈现文本,因此经常被那些意识到这一点的人使用<i>应该避免但不知道其语义的人。并非所有斜体文本都是斜体,因为它是强调的。有时,它可能完全相反,例如旁注或耳语。


<span class="italic">

这使用 CSS 类来放置演示文稿。这经常被吹捧为正确的方法,但同样,这对我来说似乎是错误的。这似乎没有传达任何更多的语义含义<i>。但是,它的支持者大声疾呼,如果您想要将其设置为粗体,那么以后更改所有斜体文本会容易得多。但事实并非如此,因为我会留下一个名为“italic”的类,该类将文本呈现为粗体。此外,尚不清楚为什么我想要更改我网站上的所有斜体文本,或者至少我们可以想到不需要或不需要这样做的情况。


<span class="footnote">

这使用 CSS 类来实现语义。到目前为止,这似乎是最好的方法,但实际上有两个问题。

  1. 并非所有文本都具有足够的含义来保证语义标记。例如,页面底部的斜体文本真的是脚注吗?还是旁白?或者完全是别的东西。也许它没有特殊含义,只需要以斜体呈现,以便在外观上将其与前面的文本分开。

  2. 当语义的强度不够时,它就会发生变化。可以说,我同意“脚注”只是基于页面底部的文本。几个月后,如果我想在底部添加更多文本,会发生什么情况?它不再是脚注。我们如何选择一个不那么通用的语义类<em>但能避免这些问题吗?


Summary

在许多情况下,语义的要求似乎过于繁重,因为将某些内容设置为斜体的愿望并不意味着带有语义意义。

此外,将样式与结构分离的愿望导致 CSS 被吹捧为替代品<i>有时这实际上不太有用。所以这让我回到了谦虚的状态<i>标签并想知道这个思路是否是它被留在 HTML5 规范中的原因?

还有关于这个主题的好的博客文章或文章吗?也许是由那些参与保留/创建的决定的人<i> tag?


您应该针对不同的用例使用不同的方法:

  1. 如果您想强调某个短语,请使用<em>.
  2. The <i>标签有一个HTML5 中的新含义 http://www.w3.org/TR/html5/text-level-semantics.html#the-i-element,代表“不同声音或语气的一段文本”。因此,您应该将此标签用于诸如想法/旁白或惯用短语之类的内容。该规范还建议船舶名称(但不再建议书籍/歌曲/电影名称;使用<cite>为此)。
  3. 如果斜体文本是较大上下文的一部分(例如介绍性段落),则应将 CSS 样式附加到较大元素,即p.intro { font-style: italic; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS/HTML:使文本斜体的正确方法是什么? 的相关文章