在元素之前使用<i>而不是在<span>中包装元素有什么好处?</span> </i>

时间:2012-11-23 16:23:53

标签: html css fonts icons 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>有什么好处吗?它是语义的吗?

2 个答案:

答案 0 :(得分:2)

我能想到的唯一优势就是<i>写得更短(而不是通过网络发送,导致gzip不关心它的i或者是20字母类的)它与其他标记不同。它就像是自制的图标标记。

<i>无论如何都没有其他语义价值。

  

i元素代表一个交替的声音或心情的文本范围,   或以其他方式抵消正常散文,例如分类   指定,技术术语,来自另一个的惯用语   语言,思想,船名或其他一些典型的散文   印刷表示是斜体。

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

语义也是如此吗?不,但没有人关心,没什么大不了的。

答案 1 :(得分:0)

mentioned here可能是一个原因 - 节省字节..

对我来说这很容易使用..