如何解决png24、32图片在IE下不透明的问题
作者:zhirong1230 创建时间:2012-06-23 阅读次数:2334
如何解决png24、32图片在IE下不透明的问题
因为IE6不支持png24或32的透明,但是我们平时还要使用它,因为他的效果要比png8和gif的好很多。
所以我们针对IE浏览器做出对应的设置如下:
img{ background:transparent; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img.png", sizingMethod="scale");}注意:最好用条件注释,然后放到整体CSS的下面,起到一个继承的作用。
给IE也加上透明的PNG背景图片2007年08月15日 星期三 下午 09:33css代码如下
*html div.ie {
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../upload/7thparknew-logo.png);
width:200px;
height:150px
}/*针对ie显示透明背景*/
html>body div.ie {
background:url(../upload/7thparknew-logo.png) center no-repeat;
width:200px;
height:150px
}/*针对ff下显示而在ie下不重复现实*/
html>body div.ff {
background:url(../upload/7thparknew-logo.png) center no-repeat;
width:200px;
height:150px
}/*自由ff才会显示*/
附:针对IE的优化
1.注释的方法
(a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
html>body p {
/* 定义内容 */
}
(b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
* html p {
/* declarations */
}
(c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用"反斜线"技巧:
/* \*/
* html p {
declarations
}
/* */
2.条件注释(conditional comments)的方法
另外一种方法,我认为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditional comments)。用这个方法你可以给IE单独定义一些样式,而不影响主样式表的定义。就象这样:
关键词(keywords):如何解决png24、32图片在IE下不透明的问题
前一篇: 科学的设计你的网站网页 后一篇:网站时间显示