头闻号

宜兴市盛凯化工有限公司

精细化学品加工

首页 > 新闻中心 > 科技常识:IE6下CSS多类选择符优先级不起作用的bug分析及解决方法
科技常识:IE6下CSS多类选择符优先级不起作用的bug分析及解决方法
发布时间:2024-11-09 02:01:37        浏览次数:6        返回列表

今天小编跟大家讲解下有关IE6下CSS多类选择符优先级不起作用的bug分析及解决方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关IE6下CSS多类选择符优先级不起作用的bug分析及解决方法 的相关资料,希望小伙伴们看了有所帮助。

IE6 这个前端开发的梦魇总是在你不经意的时候给你捅一刀。这次碰到的问题是CSS多类选择符的问题。IE6不支持 我们来看一段这样简单的代码: 复制代码代码如下: <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>IE6多类选择符优先级不起作用的bug</title> <style type="text/css"> div{display:block;width:400px;height:200px;} #id1.c1{background:#ccc;} .c2.c3{border:1px solid red; } .c3{border:1px dashed #00F; } </style> </head> <body> <div id="id1"class="c1">a</div> <div id="id2"class="c2 c3">b</div> <!--IE6下 边框为蓝色 其他浏览器都为红色--> </body> </html> 形如 #id1.c1 的选择符 支持性很好 IE6及以上 Firefox opera safari等浏览器都支持。形如 .c2.c3 的选择符 在IE6下不支持 后一个类名会覆盖前一个类名 即直接识别为 .c3 也就是说 IE6下这种类组合的优先级不如单个类。 所以开发中用多类来组合实现css效果的时候 注意IE6的这个问题。最好的方法就是 不要用这种类组合的形式。实例二:<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type"content="text/html; charset=utf-8"/><title>选择符测试</title><style type="text/css"> div{display:block;width:400px;height:200px;} #first.son{background:#ccc;} .second.son{border:1px solid red;}</style></head><body> <div id="first"class="son first"> a </div> <div id="second"class="son second"> b </div></body></html> 提示:您可以先修改部分代码再运行形如#first.son的选择符 支持性很好 ie6及以上 ff,opera,safari等浏览器都支持。 形如.second.son的选择符 在ie6下不支持 后一个类名会覆盖前一个类名 即直接识别为.son 其实可以利用第二条情况 作为一个针对ie6的hack来使用: .xxx.son{} 只要.xxx部分是一个不存在的类名。就可以屏蔽ie6之外的浏览器。只对ie6下的.son有效。 这个hack的效果同 selector{ _property:value; } 大体一致。

来源:爱蒂网