日期:2014-05-17  浏览次数:20540 次

CSS里面的*html代码是做什么用的

问题:CSS选择器中 * html 起什么作用?

?

回答:这是其中的一种hack方法,用来做各种浏览器兼容的。

*号就是说是指定为IE6和更低版本来使用。非IE的浏览器就不认得。

?

原理:HTML元素被认为是网页上的第一个元素,即根元素,但是IE7以下的所有版本有一个匿名的根元素,它包围着HTML元素,可以使用通用选择器指定包围在另一个元素中的HTML元素。因为这种情况只在IE6和更低版本中出现,所以可以将特定的规则应用于这些浏览器。比方说

* html{font-size:small;}

?

例子:IE6以下将1象素的点划线错误的显示成虚线,为了避免这个虚线,可以将链接上的鼠标停留边框样式设置成点线,但在IE中复盖这个规则,让它们显示成实线。可以写成:

a:hover{ border:1px dotted black; }

* html a:hover{ border-style:solid; }

?

结论:在任何常规的CSS规则开头添加一个通用选择器和一个HTML类型选择器。这样就会对除IE之外的所有浏览器隐藏这个规则。