ie6 png透明支持缩放后的图片透明

我们在做ie6下png透明的时候往往是用别人写好的JS文件来解决,这样很方便比如DD_belatedPNG.js

但是这样的JS无法解决缩放后的<img>标签透明,缩放后的图片会被它无视掉。
 
解决办法:
其实用JS来解决PNG透明问题,JS最终还是给需要透明的元素加上了IE特有的透明滤镜与我们手动在CSS上添加IE透明滤镜是一样的。
IE6透明滤镜的语法请网上自行搜索,大致是以下写法
普通方法:
background:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="xxx.png" ,sizingMethod="noscale");
 
特殊方法:
以下是我写过某个网站的代码
复制代码
DD_belatedPNG.fix('.png');//先解决普通png透明
//再解决缩放过的<img>标签png透明
$(function(){//jquery
 $('img.forie6').each(function(){
  //为父级元素添加背景
  $(this).parent().attr('style', 'cursor:pointer;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod="scale",src="'+ $(this).attr('src') +'");background-image:none;');
  $(this).remove();//移掉img
 });
});
复制代码
我用了Jquery来找到所有class 为forie6的img标签,如果你对jquery不熟?那你还是回家洗洗睡吧......

我们可以将<img>标签指向的图片地址作为其父级元素的background-image,再对其父级元素添加透明滤镜,并且滤镜中的sizingMethod="scale"指定其缩放,前提是父级元素宽高得指定,这样背景图片就会缩放至父级元素的宽高,这样就OK了

posted @   池中物王二狗  阅读(331)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
转载入注明博客园 王二狗Sheldon Email: willian12345@126.com https://github.com/willian12345
点击右上角即可分享
微信分享提示