1.>常见的针对IE的hack有三种, _ * 与 !important;
#outer {width:200px; height:200px; background:orange; _background:silver;} /*the _ just for IE6*/
#inner {width:50px; height:50px; background:pink; *background:purple;} /*the * for IE6/7 */
em {color:red !important; color:yellow; text-decoration:line-through !important;}
em {text-decoration:none;}/*IE6不支持同一定义中的!important,例如这里的color; 但是支持在不同定义中的!important,例如这里的text-decoration*/
<div id="outer">
<div id="inner"><em>sometext<em></div>
<div>
2.>如何解决IE6不支持png-24的透明问题?可以采用filter;
其语法为: filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=true , sizingMethod=image , src="" )
enabled-->可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false true : 默认值。滤镜激活。false : 滤镜被禁止。
sizingMethod--> 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。有三种可选值;
image: 默认值。增大或减小对象的尺寸边界以适应图片的尺寸。
crop: 剪切图片以适应对象尺寸。
scale: 缩放图片以适应对象的尺寸边界。
src-->必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。
示例如下:
body {background:silver;}
.trans
{
width:200px; height:150px;
background:url(myPic.png) no-repeat !important; /*for Fire,IE7+*/
_background:none; /*for IE6*/
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="myPic.png"); /*for IE6*/
}
<div class="trans">
CSS背景png透明失效问题解决
</div>