日期:2014-05-17 浏览次数:20579 次
问题: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之外的所有浏览器隐藏这个规则。