
CSS代码a{display:block;background:url(ring.png)no-repeat;width:100px;height:100px;text-indent:-999px;}条件注释代码我们这里有什么?应用了display:block的链接(),其背景设置为PNG格式的黑色圆圈图片,除黑色圆圈外的所有部分都是透明的。我们使用IE-onlyfilter属性来修复IE重色的PNG透明部分。问题是什么?IE中圆圈的透明部分是不可点击的。变通办法以下是按类型排列的上述错误的变通办法。解决方案(Javascript方法)解决日期2009.07.1915:17:23解决浏览器版本所有受影响的版本说明让我告诉你一个小秘密:如果我们为我们的链接设置背景,这个错误将被修复......但是等等,可以我们这样做?让我们先看看我们的例子。由于此错误的性质,该示例位于单独的页面上。HTML代码CSS代码a{display:block;background:url(ring.png)no-repeat;width:100px;height:100px;text-indent:-999px;}条件注释嘿,打开了!我们在IE中将背景设置为“图像”,但图像的url()只是一个#符号。更新:看到一条关于about:blank工作原理的用户评论。这实际上是将后台的url()设置为当前页面——是的,这将生成一个额外的HTTP请求,但我认为这不值得担心,因为页面当时已经被缓存了。IE的行为总是不可预测的,这就是其中一个例子。更新:正如一位评论者指出的那样。这个额外的HTTP请求可能会影响页面的点击率和其他问题。如果您担心这一点,可以将背景链接中的#替换为您的CSS文件(也已缓存),如果这还不够彻底,请创建一个透明的GIF文件并为其设置背景。让我补充一点,如果这个解决方案只在条件注释中实现,额外的请求只会在IE浏览器中发生。原文链接:http://haslayout.net/css/No-Transparency-Click-Bug