我环顾四周,决定使用 CSS 方法而不是依赖 JS...我认为那些坚持使用 IE6 的企业用户也可能被 IT 部门禁用了 JS。
所以在我的 HTML 中我有:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>My Page</title>
<link rel="stylesheet" type="text/css" href="default.css" />
<!--[if IE 6]><link rel="stylesheet" type="text/css" href="ie6.css"><![endif]-->
</head>
<body>
<img src="media/logo.png"/>
</body>
然后我的 ie6.css 简单地包含:
img
{
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
}
然而,这一切都没有丝毫区别,没有透明度。我注释掉了页面的所有其余部分,所以它实际上就是那个,但仍然没有运气。我删除了 default.css 样式表,但仍然没有区别。
编辑: 我现在开始使用 .htc 方法,在条件 IE6 测试 block 中加载该文件。事实证明我遇到的问题是 Windows 7“锁定”了该文件(我什至不知道这意味着什么),这阻止了 IE 加载/使用它。
最佳答案
如果我没记错的话,你必须使用
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='yourimage.png')
对于每一个图像,您无法使其仅适用于所有图像。
关于css - IE6 PNG 透明 CSS hack 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2907510/