Pittzh
unread,Aug 19, 2008, 5:01:29 AM8/19/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 南瓜社区
经典论坛的一篇帖子:CSS里面的这个(有星号的)代码是做什么用的
相关内容有一定的参考价值。
内容如下:
---------------------------------------zyfpb--------------------------
我知道CSS里一般的星号就是代表通配符的意思,比如*{font-size:12px},就是设定各个元素区块内的字体都为12像素,但是这个代码我
却看不懂,请知道的朋友帮忙说下
/*\*/ * html .content, * html .contentL, * html .contentR { height:
1%; } /**/ *>.content, *>.contentL, *>.contentR { overflow: hidden; }
各个*号是代码什么意思,有的*号用了注释符号,而有的*号后面还跟一个html代码或 > 符号?
-------------------------------------------------------------------
你可以去查查 hack
这些都是用来做各个浏览器兼容的
----------------------------------
loveface---------------------------------
*号就是说是指定为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之外的所有浏览器隐藏这个规则。
---------------------------------------zyfpb--------------------------
非常感谢loveface详细的讲解
再补充问两个问题
1、CSS规则中还有一个大于符号">" 代表什么意思?
2、* html{font-size:small;} 和 *{font-size:small;}的功能是不是完全一样的?
----------------------------------
loveface---------------------------------
1. >是子选择符,用于匹配直接后辈,孙辈就不匹配了。IE6 不支持,兴例:
li:hover>a 子对象选择符,只对儿子起作用,对孙子不起作用。
li:hover a 后代选择符,对儿子,对孙子,对后代都起作用。
2.*html{font-size:small;}, IE以外的浏览器不认得。
*{font-size:small;} 是指*是通用符,把所有字体都默认置小。
---------------------------------------zyfpb--------------------------
我想问的几个问题完全明白了,
loveface,你太强了,非常感谢!!!
这个ID为loveface的网友,CSS绝对很强。搜索了一下他的帖子,果然有不少有见地的文章。对此用法我还是比较迷茫,应该加以探索。