烦人的IE7、8,半透明滤镜(filter:alpha)失效、png半透明失效的解决办法
在项目中的问题,之前用的是用IETest测试IE7,8发现背景透明设置无效,后来找文章解决!看了一些资料,做下总结。
几种IE半透明CSS样式
IE8里可以这样写 -ms-filter:”progid:DXImageTransform.Microsoft.Alpha(opacity=50)”;
IE7里可以这样写 filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
IE6,IE7,IE8里都可以这样写 filter:alpha(opacity=50)
progid:DXImageTransform.Microsoft这种写法很是难懂,看起来也烦,一般倾向filter:alpha(opacity=50)写法;
看资料说前两种写法,是和MS的ActiveX技术一条路的,第三种看起来没有ActiveX,但本质也还是ActiveX一路的;这个可以在安全选项里面禁掉所有的ActiveX试试,包括这个滤镜在内的所有IE滤镜立刻就无效;
DIV背景透明有两种
一种是DIV本身和内部元素全部透明,另外是DIV透明,子元素不透明
第一种解决方法是用background: rgba(255, 255, 255, 0.82);设置DIV样式,子元素就不会透明了
另外是将DIV外再添加一个父DIV,父DIV设置相对,原DIV设置绝对位置用filter:设置透明;其他子元素放到原DIV同级位置,其他元素也设置position:absolute ,这也是一种解决办法
------------------------------
看了作者iefans的半透明失效文章,摘下了
png半透明失效的原因
IE7,IE8都是直接支持了png图片的alpha的,这回我的IE8里的png半透明失效的原因不明,怀疑可能跟360Safe的某些动作有关,仅仅只是怀疑而已。
很多情况会影响到ie8的png效果,这回运气比较好一点,在网上找到了方法,改了改注册表,就解决了问题。这里我们列举几种可能导致png注册表选项被破坏的情形。
1.(原因:.png在浏览器没有扩展值或出错)
开始->运行-regedit,打开注册表,HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerEmbedExtnToClsidMappings看.png存不存在。如果.png不存在,鼠标点它的上一层,也就是EmbedExtnToClsidMappings,然后按鼠标右键新建项,输入.png,然后点.PNG,双击默认值,在数值数据那粘贴“clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B”。
这是我上次成功的方法,这次不行了!
2.(原因:.png在系统中的文件损坏)
使用 开始->运行,输入 “regsvr32 c:windowssystem32pngfilt.dll”
如果在注册时出现 “已加载 c:windowssystem32pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来覆盖。再进行一次注册。
3.(原因:我们伟大的Apple公司的QuickTime程序干扰了注册表)
开始->运行->regedit,启动注册表,找到HKEY_CLASSES_ROOTMIMEDatabaseContent Type
将其中中文名的以及乱码的都删除即可如[视频/mp4]。
4.(原因:注册表信息错误!我这次就是这个问题,合并注册表后,下面的信息会自动覆盖掉有问题的信息)
将下面的内容存成.reg文件,然后右键->合并。
Windows Registry Editor Version 5.00
;PNG file association fix for Windows XP
;Created on May 17, 2007 by Ramesh Srinivasan
[HKEY_CLASSES_ROOT.PNG]
“PerceivedType”=”image”
@=”pngfile”
“Content Type”=”image/png”
[HKEY_CLASSES_ROOT.PNGPersistentHandler]
@=”{098f2470-bae0-11cd-b579-08002b30bfeb}”
[HKEY_CLASSES_ROOTpngfile]
@=”PNG Image”
“EditFlags”=dword:00010000
“FriendlyTypeName”=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,
00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,
32,00,5c,00,73,00,68,00,69,00,6d,00,67,00,76,00,77,00,2e,00,64,00,6c,00,6c,
00,2c,00,2d,00,33,00,30,00,35,00,00,00
“ImageOptionFlags”=dword:00000003
[HKEY_CLASSES_ROOTpngfileCLSID]
@=”{25336920-03F9-11cf-8FD0-00AA00686F13}”
[HKEY_CLASSES_ROOTpngfileDefaultIcon]
@=”shimgvw.dll,2″
[HKEY_CLASSES_ROOTpngfileshell]
@=”open”
[HKEY_CLASSES_ROOTpngfileshellopen]
“MuiVerb”=”@shimgvw.dll,-550″
[HKEY_CLASSES_ROOTpngfileshellopencommand]
@=”rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen %1″
[HKEY_CLASSES_ROOTpngfileshellopenDropTarget]
“Clsid”=”{E84FDA7C-1D6A-45F6-B725-CB260C236066}”
[HKEY_CLASSES_ROOTpngfileshellprintto]
[HKEY_CLASSES_ROOTpngfileshellprinttocommand]
@=”rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_PrintTo /pt ”%1” ”%2” ”%3” ”%4”"
[HKEY_CLASSES_ROOTSystemFileAssociations.PNG]
“ImageOptionFlags”=dword:00000003
[-HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.PNG]
[-HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/x-png]
[-HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/png]
[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/x-png]
“Extension”=”.png”
“Image Filter CLSID”=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”
[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/x-pngBits]
“0″=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a
[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/png]
“Extension”=”.png”
“Image Filter CLSID”=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”
[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/pngBits]
“0″=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a
[HKEY_CLASSES_ROOTCLSID{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}]
@=”CoPNGFilter Class”
[HKEY_CLASSES_ROOTCLSID{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}InProcServer32]
@=”C:\WINDOWS\system32\pngfilt.dll”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOTCLSID{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}ProgID]
@=”PNGFilter.CoPNGFilter.1″
[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter]
@=”CoPNGFilter Class”
[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilterCLSID]
@=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”
[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter.1]
@=”CoPNGFilter Class”
[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter.1CLSID]
@=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”
当PNG遭遇filter:alpha
IE系列的PNG问题是一个广受诟病、由来已久、至今未较好解决的问题,从IE6的不支持到IE7/8的缺陷支持,算是有所进步,但还有很多不健全。比如大家可以试试当PNG遭遇filter:alpha的情况,非常奇怪的现象,PNG在IE7下出现黑色背景。
这个在蓝色经典上有朋友说明了该问题,“出现背景变黑应该是给整个窗体设置了透明度导致,那么对于IE7(可能还包括IE8)来说,它虽然提供了对半透明PNG的支持,但这种支持是不健全的。这种不健全的一种表现就是,当你为半透明PNG图片(或使用半透明PNG作为背景的元素)设置透明度时,PNG图片的半透明部分会显示为黑色(但不透明部分的显示是正常的)。
值得一提的是,IE 实现透明度是通过其私有的 CSS 滤镜的方式,而非标准的 CSS3 属性。而且IE透明滤镜本身就是存在 bug 的,当然这里就不多说了”
烦人的IE7、8,半透明滤镜(filter:alpha)失效、png半透明失效的解决办法的更多相关文章
- ie下的透明度,用滤镜filter:alpha
.box{ width:100px; height:100px; background-color:#000; filter:alpha(Opacity=50); opacity: 0.5; }
- IE7下,input元素相对父级元素错位解决办法
原因: 当input仅仅包含父元素,父元素拥有margin属性时,IE7的input就会错误的继承margin属性. 解决办法: 给input元素外面套一个span,label这样的内联元素,这样就会 ...
- CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
转载,原文见:http://blog.csdn.net/freshlover/article/details/17143341 CSS3的透明度属性opacity想必大家都已经用的无处不在了.而对于不 ...
- 兼容ie8 rgba()用法 滤镜filter的用法
原文 http://blog.csdn.net/westernranger/article/details/40836861 今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不 ...
- sdibt 1244 烦人的幻灯片
在这个OJ站还没号,暂时没提交,只是过了样例 真不愧是烦人的幻灯片,烦了我一小时 ---更新:OJ测试完毕,AC 烦人的幻灯片问题 Time Limit: 1 Sec Memory Limit: 6 ...
- 在ie中用滤镜 (filter:progid:DXImageTransform.Microsoft.gradient)会触发overflow:hidden?
1.在ie中用滤镜 (filter:progid:DXImageTransform.Microsoft.gradient)会触发overflow:hidden 在项目中做一个背景层透明内容(菜单)不透 ...
- iOS 界面 之 EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具
http://blog.csdn.net/fatherhui iOS开发,EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具 EALa ...
- Jmeter之解决烦人的中文乱码问题
Jmeter是一款国外开源工具,所以就跟LR一样,对中文的支持不是很好,经常会有同学录制脚本后回放或者是发送HTTP请求,看到响应报文里面有乱码! 那如何才能解决这个问题呢?我们分2个情况来分析: 一 ...
- CSS透明opacity和IE各版本透明度滤镜filter的准确用法
滤镜名 说明 Alpha 让HTML元件呈现出透明的渐进效果Blur 让HTML元件产生风吹模糊的效果Chroma 让图像中的某一颜色变成透明色DropShadow ...
随机推荐
- flask 与 vue.js 2.0 实现 todo list
实现了后端与前端分离,后端提供 RESTful api. 后端 flask 与前端 vue 的数据传输都是 json. 本文使用 vue.js 2.0 对前一个例子:flask, SQLAlchemy ...
- 【HNOI2016】网络
题面 题解 考虑整体二分. 定义整体二分函数solve(l, r, ql, qr)表示操作权值在\([l, r]\)中,对\([ql, qr]\)的询问进行二分. 这样的话check就会很简单,先按照 ...
- python 网络爬虫介绍
一.网络爬虫相关概念 网络爬虫介绍 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进 ...
- 架构师修炼 II - 表达思维与驾驭方法论
开篇之前我想先说说当年开发的那点事儿:大约10年前吧,我还是一个程序员的时候经常都是遇到这样的项目开发流程: 解决方案 :满足客户目的和投标用的一堆文档(不少还是互联网上抄的) ,是以Word为主的纯 ...
- python数据图形化—— matplotlib 基础应用
matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...
- 【转】浅谈php://filter的妙用
php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”,本文说几个有意思的点,剩下的大家自己下去体会. XXE中的使用 php://filter之前最常出镜的地方是XXE.由于 ...
- AHD/TVI/CVI/CVBS/IP
1.CVBS是最早的模拟摄像机,现在看来效果差. 2.AHD TVI CVI都是模拟摄像机的升级版,俗称同轴,三种名称只是用的方案系统不一样而已,相比模拟的效果清晰,和模拟的外观都是一样的bn ...
- tomcat-内存溢出java.lang.OutOfMemoryErrory:PermGen space解决方法
如果是PermGen space方法区内存溢出,可尝试加大MaxPermSize,如果是heap space 堆内存移除,可尝试修改Xmx 正常解决方法: 在注释下的第一行添加: JAVA_OPTS= ...
- imagick用法!
https://coderwall.com/p/9hj97w sudo apt-get install imagemagick sudo apt-get install php5-imagick su ...
- underscore.js源码解析(一)
一直想针对一个框架的源码好好的学习一下编程思想和技巧,提高一下自己的水平,但是看过一些框架的源码,都感觉看的莫名其妙,看不太懂,最后找到这个underscore.js由于这个比较简短,一千多行,而且读 ...