IE浏览器下PNG相关功能有哪些 PNG相关功能介绍

2024-06-24 10:38:58阅读量:40 字体:

目前互联网对于网页效果要求越来越高,不可避免的用到PNG图片,PNG分为几种格 式,PNG8 PNG24 PNG32,其中最常用的,也是显示效果和大小比较适中的则是PNG24,支持半透明,透明,颜色也非常丰富,但由于咱们国人使用IE系列或以IE为内核系列的浏览器占大多数,并且由于 WINDOWS XP在国内市场份额比较大,并且XP上好多人还在用IE6 IE7 IE8等浏览器,而这些浏览器对于PNG支持或多或少都有差距,IE6完全不支持PNG,IE7 IE8支持PNG不完全,在IE7 IE8下面对图片改变透明图的时候,延PNG透明区域的地方会有一条黑色的边框,如果有半透明的,则整个半透明区域都是黑色,这点对于要求美观的页面是不能接受的,研究了下,发现把PNG当背景,用微软特有的滤镜加载图片,可以解决IE6不支持PNG的问题,并且也可以解决IE7和IE8下面使用JQUERY动画透明效果时出现黑边的问题,有代码有真像,如下:

IE浏览器下PNG相关功能有哪些 PNG相关功能介绍

在页面的/body的结束标记之前先引用jquery1.8类库,再加入以上代码,IE6 7 8 显示PNG24都没有问题了,如果需要执行animate动画或获取图片时,发现在ie 6 7 8下找不到PNG图片了,或找到了改变其位置和透明图没有反应,这原因是correctPNG将页面上所有的PNG的IMG标签都替换成了SPAN标签,然后在SPAN标签上使用filter: progid:DXImageTransform.Microsoft.AlphaImageLoader 将PNG图片加载进来,所以,建议做法是在将图片用DIV包括起来,此DIV中只允许有一个IMG标签,然后对DIV进行位置或透明度的相关操作,例:

还有一种情况是,我对这个图片除了要做透明和位移,还要改变其宽度和高度,对于这种情况,我建议采用以下方法:

BUG:在IE7和IE8下如果你动态修改png图片的透明度,比如说你应用一个fadeIn,将图片的透明度调到25%,这时候就会出现非常诡异的bug,png的透明信息没了!变成了非常难看的黑色!

IE7和IE8下png图片背景变黑的bug解决方案:

1、不要直接改变图片的透明度,而是给图片套个容器,去修改这个容器的透明度

比如原代码是:

修改成:

2、给这个容器加个背景颜色

非常重要,解决bug的关键就在这一步,比如:

一般情况下,到此bug就解决了,如果还是有问题,请看下面:

3、给容器加个zoom: 1

zoom: 1起到什么作用呢?为什么IE会存在这个bug呢?

这是二个问题,其实是一个答案。 IE修改透明度,不是通过css属性,而是通过filter滤镜,所以想要理解这个bug,就要从filter滤镜上找原因。 filter作用于一个对象时,这个对象必须是有形体,也就是必须是layout,而IE存在一个很特殊的属性:hasLayout ,这个属性可以赋予容器成layout,hasLayout这个属性有些诡异,你无法通过直接写css启动,而必须通过javascript启动,其实还有一种方法可以启动,就是使用特殊的css属性,变相将hasLayout启动,这个css属性就是 zoom (其他的属性比如display:inline-block、float:left等也行,而只有zoom没什么副作用)

以上所述就是本文的全部内容了,希望大家能够喜欢。

推荐阅读

  • 剪映怎么在中间插视频

    剪映怎么在中间插视频

    想要使用剪映视频中间插入另一个视频,可以把原本视频分割再插入新的视频,通过以下步骤使用剪映在中间插视频: 剪映怎么在中间插视频 1、打开剪映,点击开始创作”进入选择页面。 2、选择一个视...

    阅读: 752

  • qq进群特效怎么关闭

    qq进群特效怎么关闭

    想要关闭qq进群特效,可以在qq群的进群特效相关功能进行关闭,开通超级会员才能享受进群特效,通过以下步骤关闭qq进群特效: qq进群特效怎么关闭 1、打开qq,点击qq群”进入qq群聊天页...

    阅读: 697

  • 地摊怎么申请微信商家码

    地摊怎么申请微信商家码

    地摊想要申请微信商家收款二维码,可以从微信收款小账本进行相关设置即可申请微信商家收款二维码,通过以下步骤可以申请微信商家收款二维码: 地摊怎么申请微信商家码 1、打开微信,切换到发现页面,点击小程序&...

    阅读: 799

  • 微信拉黑和删除

    微信拉黑和删除

    微信加入黑名单后给对方发消息,对方可以看到但不能回复,微信删除后双方都不能发消息,微信拉黑和删除具体步骤如下: 微信拉黑和删除 1、打开微信,切换到通讯录页面,点击联系人”进入联系人名片...

    阅读: 728

  • qq音乐删除访问记录别人能看见吗

    qq音乐删除访问记录别人能看见吗

    qq音乐删除了访问记录别人是不能看到的,可以在访客功能中删除访问记录,通过以下步骤删除qq音乐访问记录: qq音乐删除访问记录别人能看见吗 1、打开qq音乐,切换到个人中心,点击头像”进入...

    阅读: 690

  • 新加好友怎么才能分享屏幕

    新加好友怎么才能分享屏幕

    qq聊天中自带有分享屏幕的功能,只要加了好友,直接点击分享屏幕就可以将屏幕分享给对方。具体操作方法如下: 新加好友怎么才能分享屏幕 1.在qq中找到要分享屏幕的好友,点击进入对话界面。 2.点击对话...

    阅读: 766