Css中的*星号通配符
*号就是说是指定为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之外的所有浏览器隐藏这个规则。另外再补充点:
1. >是子选择符,用于匹配直接后辈,孙辈就不匹配了。IE6 不支持,兴例:
li:hover>a 子对象选择符,只对儿子起作用,对孙子不起作用。
li:hover a 后代选择符,对儿子,对孙子,对后代都起作用。
2.*html{font-size:small;}, IE以外的浏览器不认得。
*{font-size:small;} 是指*是通用符,把所有字体都默认置小。
十月 1st, 2009 in
DIV+CSS