【问题标题】:What is the proper use case for html <i> element? [duplicate]html <i> 元素的正确用例是什么? [复制]
【发布时间】:2013-01-26 18:15:00
【问题描述】:

起初这个问题看起来很简单,从我所见过的所有现实生活中的例子来看,都是用于显示图标的。例如twitter bootstrap icons

但是,当我在 google 中搜索标签时,w3c 学校显示 is for italic text

我很困惑,如果用于斜体文本,为什么每个人都将它用于图标?这个标签的正确用途是什么??

【问题讨论】:

  • 感谢大家的回答,正如您所通知的那样,我意识到已经有另一个问题,并且已经回答了。所以我会继续阅读。我正在寻找的结果确实是表示图标的好方法,因为很多大牌都在规范之外使用 标记,这会造成混乱。

标签: html icons italic


【解决方案1】:
<i>  was the old way to make text italic in HTML.  

标签现在已经在 HTML5 中重新定义,我相信 TwitterBootstrap 只是将这个约定用于图标,但它绝对不是制作图标的标准方式。

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

【讨论】:

【解决方案2】:

&lt;i&gt; 标签是discouraged,因为它没有提供关于为什么文本是斜体的语义指示。

要显示斜体文本,应使用&lt;em&gt; 标签。 (或具有适当语义含义的不同标签,结合 CSS)

最近,人们开始使用&lt;i&gt; 标记图标,因为i 代表图标

【讨论】:

    【解决方案3】:

    因为 HTML 多年来已经变得不正常了。

    HTML 4.01 中的官方“正确使用”是斜体文本。

    【讨论】:

      【解决方案4】:

      它应该用于使文本样式为斜体。斜体文本的大多数语义用途是 &lt;em&gt;,因为屏幕阅读器支持它以进行强调。

      &lt;i&gt;&lt;b&gt; 逐渐过时,转而支持使用 CSS 设置文本样式,并出于可访问性原因保留 &lt;em&gt;&lt;strong&gt;

      我猜它是为图标选择的,因为它是最接近的元素并且具有字母意义(即 i = 图标)。

      【讨论】:

      • 在最近的研究中,我还了解到将 用于图标是一个坏主意。 HTML 应该包含较少的非语义内容和作为其中一部分的图标。应尽可能使用 css 伪元素来显示图标。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 2012-07-25
      • 2011-05-13
      • 2018-07-05
      • 1970-01-01
      • 2016-01-14
      • 2014-02-11
      相关资源
      最近更新 更多