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的这个问题。最好的方法就是,不要用这种类组合的形式。
实例二:

提示:您可以先修改部分代码再运行
形如#first.son的选择符,支持性很好,ie6及以上,ff,opera,safari等浏览器都支持。
形如.second.son的选择符,在ie6下不支持,后一个类名会覆盖前一个类名,即直接识别为.son

其实可以利用第二条情况,作为一个针对ie6的hack来使用:
.xxx.son{} 只要.xxx部分是一个不存在的类名。就可以屏蔽ie6之外的浏览器。只对ie6下的.son有效。
这个hack的效果同 selector{ _property:value; } 大体一致。
标签:
CSS多类选择符,优先级

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
岱庙资源网 Copyright www.zgmyg.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。