刚注意到Twitter上的`<i>`标签,他们是否做到了?</i>

时间:2009-10-30 20:24:55

标签: html css twitter css-sprites

Twitter似乎正在使用<i/>标签来显示来自css精灵的图标。他们只是构成了那个标签,还是我从未听说过的HTML?

无论如何都是绝妙的主意:)

6 个答案:

答案 0 :(得分:8)

这是常规的斜体标签,但没有任何内容;即语义等同于<i></i>

XML中,空元素在末尾写有额外的斜杠。 XHTML是有效的XML。所以<i/>没问题。对于更常见的示例,请考虑例如<br />

要自己查看<i/>是有效的XHTML代码,请查看XML EmptyElemTag definition或将以下内容传递给W3C validator

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title></title>
  </head>
  <body>
    <p><i/></p> <!-- look here -->
  </body>
</html>

正如Toji正确指出的那样,句法差异在某些情况下是相关的。虽然浏览器可能不会将<i/><i></i>区别开来,但其他XML解析器可以!

答案 1 :(得分:7)

这是斜体标签。

答案 2 :(得分:2)

答案 3 :(得分:2)

我看到人们使用空的面向样式的元素(例如<i/><b/>)作为在整个站点中重用的UI小部件的额外样式的钩子。 OOCSS does this。例如,基本模块的结构定义为

<div class="mod"> 
  <b class="top"><b class="tl"></b><b class="tr"></b></b>
  <div class="inner">
    <div class="bd">
      <p>Lorem ipsum.</p>
    </div>
  </div>
  <b class="bottom"><b class="bl"></b><b class="br"></b></b> 
</div>

然后,根据您的CSS(以及您使用模块的上下文),这些空的<b />元素可能会收到样式以添加样式,例如边框图像,或者它们可能根本没有收到任何样式,并且对页面没有影响。

我找不到你所指的标签,所以我不知道这是不是Twitter正在做的事情,但无论如何,这是一个有趣的使用这些标签。

答案 4 :(得分:2)

使用i代替span可以节省一些字节

答案 5 :(得分:0)

他们可能正在使用它来减少HTTP有效负载,即带宽成本。