为什么在 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>
是为了优化你的页面速度几微秒,你的编码速度几微秒秒。
我使用 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>
是为了优化你的页面速度几微秒,你的编码速度几微秒秒。