Twitter似乎正在使用<i/>
标签来显示来自css精灵的图标。他们只是构成了那个标签,还是我从未听说过的HTML?
无论如何都是绝妙的主意:)
答案 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有效负载,即带宽成本。