就本问题而言,请考虑以下事项:
<div class="has_transparent_png">
<a href="foo.html">
<span>
<img src="logo.jpg" />
</span>
</a>
</div>
问题:在IE6中,<a>
无法点击。这是我正在使用的PNG替换:
.has_transparent_png {
background-image: url(images/transparentpng.png);
}
* html .has_transparent_png {
behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none", this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')", this.src = "images/spacer.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("', '').replace('")', ''), this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')", this.runtimeStyle.backgroundImage = "none")), this.pngSet=true));
}
如何使<a>
可点击?我无法控制HTML。只有CSS。提前谢谢。
答案 0 :(得分:1)
不确定这是否有帮助,但似乎您正在设置DOM结构以修复IE6上的透明图像。您可以简单地在特定ID上运行js函数,以使用如下脚本修复图像的透明度:http://homepage.ntlworld.com/bobosola/pnghowto.htm
在页面底部执行以下操作:
DD_belatedPNG.fix( '#imgThatNeedsFix');希望有所帮助。
答案 1 :(得分:0)
你可以尝试......
.has_transparent_png a { position:relative; zoom:1; }
这并不总是有效......
另一个替代方法是使用兄弟div用png填充整个父div,然后将兄弟div添加到包含锚点并且具有更高堆叠顺序的兄弟div。
答案 2 :(得分:0)
似乎无法通过CSS严格执行此操作,这是预期的目标。