热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PNG在IE6下透明问题的解决办法

2019独角兽企业重金招聘Python工程师标准做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦࿰

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

      做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦,IE6会使透明的PNG的透明部分出现#DBEAED的色彩。透明不了。使得在FF下开发表现很好的界面换成IE浏览就惨不忍睹,又逼着换成GIF,而GIF的假透明在变换背景时造成毛边现象。

      图片在网页中有两种,一是直接的标签,还有是放在css引用中作背景,这两种方式的PNG透明处理方法也不一样。

      首先看标签的解决办法。这号称是官方的解决方案,下面是核心函数:

25093609_ITL4.gif25093609_f71n.gifCode
 1 /* 
 2 Correctly handle PNG transparency in Win IE 5.5 & 6. 
 3 Copyright 2007 Ignia, LLC 
 4 Based in part on code from from http://homepage.ntlworld.com/bobosola. 
 5  
 6 Use in  with DEFER keyword wrapped in conditional comments: 
 7  
 8  
 9  
10 */ 
11  
12 function fixPng() { 
13   var arVersion = navigator.appVersion.split("MSIE"
14   var version = parseFloat(arVersion[1]) 
15  
16   if ((version >= 5.5 && version < 7.0&& (document.body.filters)) { 
17     for(var i&#61;0; i<document.images.length;></document.images.length;>      var img &#61; document.images[i]; 
18       var imgName &#61; img.src.toUpperCase(); 
19       if (imgName.indexOf(".PNG"&gt; 0) { 
20         var width &#61; img.width; 
21         var height &#61; img.height; 
22         var sizingMethod &#61; (img.className.toLowerCase().indexOf("scale"&gt;&#61; 0)? "scale" : "image"
23         img.runtimeStyle.filter &#61; "progid:DXImageTransform.Microsoft.AlphaImageLoader(src&#61;&#39;" &#43; img.src.replace(&#39;%23&#39;&#39;%2523&#39;).replace("&#39;""%27"&#43; "&#39;, sizingMethod&#61;&#39;" &#43; sizingMethod &#43; "&#39;)"
24         img.src&#61;"images/blank.gif" mce_src&#61;"images/blank.gif"
25         img.width &#61; width; 
26         img.height &#61; height; 
27         } 
28       } 
29     } 
30   } 
31  
32 fixPng();

 

      再看css背景方式的解决办法&#xff1a;

      这个方法是Dean Edwards 的 IE7提出的。英语还过的去的可以直接去看原文&#xff1a;http://dean.edwards.name/    http://code.google.com/p/ie7-js/

      首先要下载这个js&#xff0c;然后在加入下面这段


      再把PNG 图片名字存为“你的文件名-trans.png”。文件名字记得一定要有 -trans。例如&#xff1a; img-trans.png&#xff0c; tupian-trans.png&#xff0c; logo-trans.png

      ps&#xff1a;这个方法不支持IE5&#xff0c;但在IE5.5和IE6下正常。

 


转:https://my.oschina.net/laichendong/blog/283832



推荐阅读
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
author-avatar
书友40301072
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有