在元素之前使用<i>而不是将元素放在<span&>中有什么好处?

2022-04-19 00:00:00 fonts icons html css font-face

可能的重复项:
<I> tag for icons?

我在FontAwesome中看到,为了使用他们的图标字体,他们使用了一个空的<i>,类似于:

<a class="btn" href="#">
   <i class="icon-refresh"></i> Refresh
</a>

不是像这样用<span>包装:

<a class="btn" href="#">
   <span class="icon-refresh">Refresh</span>
</a>

我看到其他一些网站也采用了类似的技术。AFAIK,这两种技术都使用了css伪元素:before,所以我想知道为什么他们使用<i>而不是用<span>来包装它?

使用空<i>有什么优势吗?它是语义的吗?


解决方案

我能想到的唯一优势就是<i>编写起来更短(而且不是通过网络发送,因为GZip不太关心它是I还是SPAN带有20个字母的类),而且它与其他标记不同。就像自制的图标标签。

<i>中没有其他语义值。

I元素表示以另一种声音或语气表示的文本范围, 或以其他方式偏离正常的散文,如分类法 称谓、技术术语、来自另一个术语的惯用语 语言、思想、船名或其他一些散文,其典型的 排版演示文稿以斜体显示。

http://www.w3.org/International/questions/qa-b-and-i-tags/

那么它是语义的吗?不是的。但没人在乎,没什么大不了的。

相关文章