什么是使文本变为斜体的正确方法?我已经看到以下四种方法:
<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>
。但是,它的支持者大声疾呼,如果您说想要大胆的话,以后更改所有斜体文本要容易得多。事实并非如此,因为那时我将剩下一个称为“斜体”的类,该类使文本变为粗体。此外,目前尚不清楚为什么我要更改我网站上的所有斜体文本,或者至少我们可以想到这种情况是不希望或没有必要的。
<span class="footnote">
这将CSS类用于语义。到目前为止,这似乎是最好的方法,但实际上存在两个问题。
并非所有文本都有足够的含义来保证语义标记。例如,页面底部的斜体文本真的是脚注吗?还是放在一边?或完全其他的东西。也许它没有特殊的含义,只需要用斜体将其表示形式与前面的文本分开即可。
如果没有足够的强度,语义可能会发生变化。可以说,我跟着“脚注”是基于页面底部的文字。如果几个月后我想在底部添加更多文本,会发生什么?它不再是脚注。我们该如何选择一个语义类,该语义类的通用性要小于
<em>
但避免了这些问题?
摘要
似乎在许多情况下,对语义的要求似乎过于繁重,在这些情况下,使斜体字的意图并不意味着带有语义。
此外,将样式从结构中分离出来的愿望导致CSS被吹捧为<i>
在某些情况下实际上用处不大的替代品。因此,这让我留下了谦卑的<i>
标签,并且想知道这种思路是否是将其保留在HTML5规范中的原因?
是否有关于此主题的好的博客文章或文章?可能是由那些决定保留/创建<i>
标签的人员参与的?