- 浏览: 171687 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
crabboy:
goodhttp://veerle.duoh.com/comm ...
表格效果 -
lunvsxiao:
好呀,省的自己记那么多了。。
java常用正则表达式
首先说明一下,网上处理IE6下png透明的方法有很多,但无外乎两种情况:一种是使用AlphaImageLoader滤镜,一种是使用微软的VML语言进行绘制。只不过前一种情况有多种触发方式,所以出现了
iepngfix.htc,css样式,onload时触发的多种解决方式。
一、iepngfix.htc的使用
http://www.twinhelix.com/css/iepngfix/
页面加入如下代码
<!--[if lt IE 7]> <style type="text/css"> img, div{ behavior: url(style/iepngfix.htc) } /**根据需要处理png的地方修改此处**/ </style> <![endif]--> <script type="text/javascript" src="iepngfix_tilebg.js"></script>
具体使用方式参看该官网
二、图片onload时触发
var isIE6 = (function(){ var is6 = false; var Sys = {}; var ua = navigator.userAgent.toLowerCase(); (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 0; if (Sys.ie) { var temp = parseInt(Sys.ie); if(temp==6) is6=true; } return is6; })(); function fixPng(img){ if (isIE6 && (/\.png$/i).test(img.src)){ var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML; } }
注意:
此种方法修复png后,img标签被替换为span标签了
可以将该方法扩展下,适应不同的需求
=========================================================================
在IE6下,如果将“检查网页的较新版本”设置为“每次访问网页时”,此时使用滤镜方法修复png透明就会偶尔出现IE6卡死的问题(页面请求数据较多时)。
网速慢得情况下,尤为明显。所以使用上述方法是也只有在设置为“自动”或者“每次启动Internet Explorer时”,判断onload才有效,因为无论如何,给滤镜设置src时都会引起一次请求!
=========================================================================
三、微软的VML语言进行绘制
这种方法不会引起IE6卡死,但网速慢得时候会渲染很慢,一时半会儿看不到图片,请求超时会有小红叉。
官网提供的源码不支持图片的放大缩小,需要修改下:
将el.vml.image.fill.type = 'tile';改为el.vml.image.fill.type = 'frame';(在315行)
建议填充shape时,以图片的原始大小填充。这样才会显示完整。
el.vml.image.shape.style.clip = 'rect('+c.T+'px '+(c.R+fudge)+'px '+c.B+'px '+(c.L+fudge)+'px)';(在243行,第二三个参数传入图片的原始宽,高)
综上:
1. 处理png问题时需要判断IE6,其它版本浏览器无需处理。
2. 个人建议:在IE6下尽量少使用半透明的png,在IE6下使用gif代替。这样效率也比较高
发表评论
-
img 图片显示多余空白解决方法
2014-09-03 23:01 0img 图片显示多余空白解决方法:在进行DIV+CSS排版时 ... -
js event.keyCode
2011-12-02 17:13 707keycode 8 = BackSpace BackSpace ... -
js event.keyCode
2011-12-02 17:06 2keycode 8 = BackSpace BackSpace ... -
我的笔记
2011-10-25 22:52 0http://www.ccxcn.com/blog/post/ ... -
HTTP状态码(HTTP Status Code)
2011-02-23 09:40 7171xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代 ... -
不使用中间变量,交换int型的 a, b两个变量的值
2011-02-22 18:08 766(function(){ var a = 10, b ... -
dom加载完的判断
2011-02-12 18:05 3023window.onload事件可以安全的执行javascr ... -
js节点操作
2011-02-11 16:14 849insertAdjacentElement方法 语法: ... -
上传图片预览-兼容IE6,IE7,IE8,FF
2011-01-20 14:07 726<!DOCTYPE html PUBLIC " ... -
动态加载javascript文件
2010-12-23 23:53 737动态加载javascript?很俗的一个题目,如果你已经知道如 ... -
Apache相关配置
2010-11-30 22:15 745强制IE缓存CSS中定义的图片 document.execC ... -
[JS]URLParser-html页面参数获取类
2010-10-11 09:05 692URLParser类代码 /* @class: ... -
JS函数库 common.js
2010-09-20 15:55 1145/****************************** ... -
简单的加解密
2010-09-12 20:51 646前段时间看到flash中写的一段混淆代码,现记录下,以备后用。 ... -
js排序
2010-09-02 16:37 785<html> <body> ... -
日期的格式化函数(转)
2010-08-17 15:38 663//Date.prototype.isLeapYe ... -
动态加载JS脚本的4种方法
2010-08-05 11:55 530动态加载JS脚本的4种方法 要 ... -
表格效果
2010-07-14 18:07 818web应用中的表格效果。 鼠标滑动时选中横行和竖列。 见附 ... -
所有浏览器中都能正常显示的字体
2010-07-04 01:31 1028很佩服国外一些前端开发人员对待学问的研究精神,他们很善于总结发 ... -
信息提示框
2010-05-17 17:08 1372消息提示封装js /** ------ ...
相关推荐
ie6下 PNG透明处理ie6下 PNG透明处理
5. **PNG透明修复脚本**:压缩包内的“IE6 PNG处理”脚本可能是一个JavaScript库,如DD_belatedPNG,它通过检测浏览器版本,对IE6下的PNG图片进行特殊处理,使其能够正确显示透明效果。这类脚本通常会分析图片,创建...
处理完IE6下的PNG透明问题后,可能会遇到一些新的挑战,例如性能影响、图片质量下降或是与其它CSS样式的冲突。因此,在应用解决方案时,应进行充分的测试,确保在保持视觉效果的同时,不影响网站的整体性能和用户...
IE6可以很好地处理PNG8的透明,但对于PNG24的半透明效果则无法正常显示,显示为全透明或全不透明。 针对这个兼容性问题,有以下三种常见的JavaScript解决方案: 1. **DD_belatedPNG.js**: 这是David DeSandro...
然而,通过一些技术手段,我们可以“完美解决IE6下PNG背景、图片透明问题”。 首先,我们需要了解PNG图像格式。PNG是一种无损压缩的位图格式,支持透明度设置,包括完全透明和半透明。对于其他现代浏览器,如Fire...
为了解决这个问题,开发者们开发了一系列JavaScript库和技巧,使得在IE6下也能实现PNG图像的透明效果。 1. **Alpha Image Loader滤镜**:IE6提供了一个名为"Alpha Image Loader"的滤镜,可以通过CSS样式应用到元素...
2. **PNGFix方法**:由Dean Edwards开发的PNGFix.js是一个JavaScript库,它通过JavaScript动态修改页面元素的CSS,使IE6能够处理PNG的透明效果。只需在页面中引入这个脚本,并将需要透明的PNG图像链接到脚本即可。 ...
标题“IE6 PNG 透明处理方法”涉及到的是一个在网页设计中常见的问题,尤其是在与旧版Internet Explorer(尤其是IE6)兼容性相关的上下文中。在IE6中,PNG图像格式的透明度支持并不完善,导致许多设计师在创建具有半...
1. **CSS滤镜法**:IE6提供了一种名为`AlphaImageLoader`的CSS滤镜,可以用来处理PNG透明度。通过在CSS中添加如下代码,可以解决大部分问题: ```css .ie6-png-fix { filter: progid:DXImageTransform.Microsoft...
本文将深入探讨这个问题,并提供JavaScript解决方案来实现IE6下PNG图片的透明显示。 首先,我们需要理解为什么IE6不支持PNG透明。PNG-24格式允许半透明和全透明效果,但IE6只支持8位的PNG-8,而这种格式最多只能有...
标题中的“IE6_PNG透明终极解决办法”指的是在Internet Explorer 6(简称IE6)浏览器中处理PNG图片透明度的问题。PNG格式的图片支持Alpha透明通道,允许半透明效果,但在IE6这个古老的浏览器中,对PNG8和PNG24格式的...
而PNG24则提供全彩图像,同时支持Alpha透明,即半透明效果,但IE6在处理这种透明度时会出现问题,通常表现为背景色泄漏或图片显示不全。 为了解决IE6下的PNG透明图片问题,开发者们提出了几种解决方案: 1. **CSS...
解决ie6下png透明问题 在页面引入这个js文件,让回EvPNG.fix();
在早期的网页设计中,IE6(Internet Explorer 6)浏览器对PNG图像格式的透明支持是有限的,尤其是对于PNG-24格式的图像,它只支持简单的索引颜色透明,而对于真彩色的PNG图像则无法实现透明效果。这给网页设计师带来...
然而,Internet Explorer 6(简称IE6)对PNG格式的支持并不完善,尤其是在处理PNG的Alpha透明效果时存在局限性。这篇教程将详细介绍如何在IE6下实现PNG图片的透明效果。 首先,我们需要理解IE6对PNG透明的支持问题...
PNG是一种支持24位颜色和透明度的高质量图像格式,但在IE6中,其透明特性并未得到良好处理。这个问题在设计界尤为头疼,因为设计师们常常需要用到PNG的透明效果来创建复杂的网页布局和图形。 标题"IE6完美解决PNG...
"最好的IE6下png透明图片修复代码"提供了一个解决方案,使得在Internet Explorer 6(IE6)这种老版本浏览器中,也能正确显示具有透明效果的PNG图像。这个问题的核心在于,IE6只支持PNG-8格式的透明,而不支持PNG-24...
PNG是一种支持透明度的图像格式,但在IE6下,PNG-24格式的图片会出现全透明或半透明像素变为黑色的问题,这在网页设计中是个显著的障碍。为了解决这一问题,开发者们探索了多种解决方案,主要包括滤镜技术、PNGFix ...
以上两种方法都可以有效解决IE6下PNG图片透明度的问题,但在实际应用中,考虑到IE6的市场份额逐渐减少,开发者也可能选择仅对现代浏览器提供PNG透明效果,而让IE6用户看到不透明的图片。 这个压缩包中的"ie6中png...
网页设计在制作网站时时常会遇见IE6的PNG图片透明兼容问题,网上也有很多介绍关于IE6浏览器不显示PNG透明图片的解决方案,但多数是有问题的。应用PNG图片的透明或半透明的特性能做出非常漂亮的网页来。Firefox和...