这篇文章主要介绍“IE CSS Bug中链接图像透明部分不可点击分析”,在日常操作中,相信很多人在IE CSS Bug中链接图像透明部分不可点击分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”IE CSS Bug中链接图像透明部分不可点击分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
影响版本
该bug影响:IE8、IE7、IE6
表现
用’filter’方法修正了PNG透明度之后链接上背景图像的透明部分不能点击。
教程时间
2009.7.19 星期天 15:03:44
描述
问题:我们用透明PNG图片作为链接的背景并用filter方法解决了IE下的alpha透明度问题。结果IE又怎么了?图像的透明部分变得不能点击了。让我们来看看例子。
Demo
由于这个bug的天然特性,示例在一个独立的页面
HTML代码
<div><a href="#">Lorem Ipsum</a></div>
CSS代码
a { display: block; background: url(ring.png) no-repeat; width: 100px; height: 100px; text-indent: -999px; }
条件注释代码
<!--[if IE]> <style type="text/css"> a { background: none; cursor: pointer; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="ring.png",sizingMethod="scale"); } </style> <![endif]-->
我们这里有什么呢?一个应用了display:block的链接(<a>),其background设置一个PNG格式的黑圆圈图像, 除了黑圆圈之外的部分都为透明的。我们用只适合IE的filter属性来修复IE重色的PNG透明部分。问题在于?IE当中圆圈的透明部分不可点击。
解决方法
以下是以类型安排的解决上述bug的方法。
解决方法(Javascript方法)
解决日期
2009.07.19 15:17:23
解决浏览器版本
所有受影响的版本
描述
我来告诉你一个小秘密吧:如果我们给我们的链接设置background的话这个bug就修复了…不过等一下,我们能这么干吗?我们先来看一下我们的示例。
由于这个bug的天然特性,示例在一个独立的页面上。
HTML代码
<div><a href="#">Lorem Ipsum</a></div>
CSS Code
a { display: block; background: url(ring.png) no-repeat; width: 100px; height: 100px; text-indent: -999px; }
条件注释
<!--[if IE]> <style type="text/css"> a { background: url(#); cursor: pointer; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="ring.png",sizingMethod="scale"); } </style> <![endif]-->
到此,关于“IE CSS Bug中链接图像透明部分不可点击分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!