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;}  是指*是通用符,把所有字体都默认置小。

Leave a comment

Your comment

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word