IE下PNG透明图片fadeIn出现黑边的问题
工作上有需求,做网站首页的幻灯。
图片使用的是PNG32透明图片,效果使用了jQuery的fadeIn & fadeOut
fadeIn Out是使用改变opacity的值来达到淡入淡出的效果。
但是这种效果在IE下这种对PNG支持存在问题的浏览器下,在淡入淡出的瞬间,图片内容的边缘就会出现一块黑色的区域。
特别的难看。
经过搜索和尝试最终得到解决方案。
首先,由于之前大图使用的是IMG标签,先改成把图片当成DIV的背景图。
设置好DIV的高宽,然后设置inline-style
style='background:url(your.png);background:none\0;*background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="your.png", sizingMethod="crop");'
主要是要将ie6-8的background设置成none;
background:none\0; 为ie8的hack。
*background:none; 为ie6的hack。
然后使用滤镜,就可以搞定了。
//=====================================================
另外,还有其他的解决方法:
1. 换图片,换成JPG的。如果是有背景的话,在图片位置固定的情况下,把背景一并切下来吧;
2. 不要使用fadeIn Out效果,show & hide 就没这事。
3. 使用flash制作幻灯,成本可以在前期预估,成熟的幻灯程序也应该有不少。
----- 但愿人长久,千里共婵娟
(如果你对本篇博文有任何问题和赞同,请回复告诉我)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步