为什么在 Font Awesome 中使用 <span> 比 <i> 在语义上更正确?

Why using <span> with Font Awesome more semantically correct than <i>?

我使用 Font Awesome 有一段时间了,我想知道我应该为它使用哪个标签。

Here 据说他们喜欢 <i> 标签的简洁性,但使用 <span> 在语义上更正确。

我读了specification for <i> and <span>。不幸的是,我找不到区别,它们的使用上下文相同。

这是因为<i>是针对html中的斜体文本,而<span>可以包含任何行内元素。因此使用 span 而不是 i 在语义上更正确。但仍然 <span> 也不表示在 html 中使用图标,所以这在语义上也不正确,直到你像这样添加一个角色作为 img:

<span class="your_awesome_font_icon" role="img"></span>

<span><i>的区别在于<i>本来是为斜体字体设计的,而<span>是旨在封装一段内容 立即更改任何 css 规则。换句话说,<span> 可用于您要应用的任何自定义 css 操作。

因此,从理论和历史的角度来看,<span>会是一个更合适的选择。

然而,<i>要短得多,在浏览器中的效果是相同的,所以选择<i>是为了优化你的页面速度几微秒,你的编码速度几微秒秒。