问题描述
如果样式写成这样<p class="class_1 class_2">,那么在IE6和FF(IE6+同FF)下会显示为不同的效果。
测试代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | < html > < head > < title >IE6对多个CSS样式的解析</ title > < style type = "text/css" > body { font-size:12px; } .West { color:Green; } .West.Color { color: Red; } </ style > </ head > < body > < p class = "West" >大师兄,师傅被妖怪抓走了。</ p > < p class = "West Color" >二师兄,师傅被妖怪抓走了。</ p > < p class = "East Color" >大师兄,二师兄被妖怪抓走了。</ p > < p class = "East" >大师兄,师傅和二师兄被妖怪抓走了。</ p > < p class = "Color" >师傅放心吧,大师兄会来救我们的。</ p > </ body > </ html > |
解析效果
测试代码
增加了新的样式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | < html > < head > < title >IE6对多个CSS样式的解析</ title > < style type = "text/css" > body { font-size:12px; } .West { color:Green; } .West.Color { color: Red; } .East.Color { color: Blue; } </ style > </ head > < body > < p class = "West" >大师兄,师傅被妖怪抓走了。</ p > < p class = "West Color" >二师兄,师傅被妖怪抓走了。</ p > < p class = "East Color" >大师兄,二师兄被妖怪抓走了。</ p > < p class = "East" >大师兄,师傅和二师兄被妖怪抓走了。</ p > < p class = "Color" >师傅放心吧,大师兄会来救我们的。</ p > </ body > </ html > < br > |
解析效果
如果样式改成这样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | < html > < head > < title >IE6对多个CSS样式的解析</ title > < style type = "text/css" > body { font-size:12px; } .West { color:Green; } p.West.Color { color: Red; } .East.Color { color: Blue; } </ style > </ head > < body > < p class = "West" >大师兄,师傅被妖怪抓走了。</ p > < p class = "West Color" >二师兄,师傅被妖怪抓走了。</ p > < p class = "East Color" >大师兄,二师兄被妖怪抓走了。</ p > < p class = "East" >大师兄,师傅和二师兄被妖怪抓走了。</ p > < p class = "Color" >师傅放心吧,大师兄会来救我们的。</ p > </ body > </ html > |
解析结果,原来在IE6中显示为蓝色的都显示为红色。而FF保持不变。
嗯 是IE6不支持这个选择器
我有找到一个用来使IE6支持该选择器的js
demo参见这里http://ie7-js.googlecode.com/svn/test/multiple-classes.html
该js lib见这里 http://code.google.com/p/ie7-js/
上面代码修改后如下
不过仍然和我的需求有出入,因为我给div增加多个class的操作也是用js来做的,所以这里就有问题了,解决思路可能是在添加多个class后,再调用一下这个js lib中跟multiple classes有关的函数.不过暂时没找到……
结论
在IE6中,连续拼写的两个样式,.class_1.class_2,识别为后一个.class_2。后定义的优先。
在FF中,必须匹配完整的样式,少一个都不识别。
如果加上了p限定,则优先级高于不加p的样式,参考CSS优先级。
来源:http://www.cnblogs.com/0417/archive/2010/07/15/1778033.html