IE6 PNG透明CSS攻击不起作用

IE6 PNG透明CSS攻击不起作用,css,png,internet-explorer-6,Css,Png,Internet Explorer 6,我环顾四周,决定使用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" l

我环顾四周,决定使用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>
然而,所有这些都没有丝毫区别,没有透明度。我把页面的其余部分都注释掉了,所以它实际上就是那一个,仍然没有运气。我删除了default.css样式表,但仍然没有区别

编辑
现在,我使用.htc方法将该文件加载到一个有条件的IE6测试块中,使其正常工作。原来我遇到的问题是Windows 7“锁定”了文件(我甚至不知道这是什么意思),这阻止了IE加载/使用它。

如果我没有弄错,您必须使用

progid:DXImageTransform.Microsoft.AlphaImageLoader(src='yourimage.png')

对于每一个图像,您不能使其仅适用于所有图像。

我正在使用以下页面的解决方案:

在线演示之后,您的PNG在IE中也将是透明的。

您可能想看看


它还允许您使用带有CSS
背景位置属性的alpha通道的png,这在使用AlphaImageLoader时通常是无法实现的。

在HTML页面中,您可以在
默认值中找到相对于HTML文件(
媒体/logo.png
)的图像路径。CSS
中有一个带有
行为:url的条目(iepngfix.htc);
(iepngfix.htc的路径相对于HTML文件),并且在
ie6.css
中有一个带有
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='media/logo.png',sizingMethod='scale'的条目);
带有相对于CSS文件的图像路径。至少您需要更改iepngfix.htc中的路径(
iepngfix.blankImg='media/blank.gif';

您需要具有以下文件夹结构:

  • HTML文件
  • iepngfix.htc
  • ie6.css
  • default.css
  • /媒体/logo.png
  • /介质/blank.gif

你是对的-只有javascript选项会给你“我们会处理一切”的提示。哦,我只是复制粘贴而不理解!如何将此应用于内联图像?我不明白。他的演示在我的IE6虚拟机上工作,但当我复制粘贴时,我的页面不会。我看不出任何错误:(我已经将我的图像移动到与HTML相同的级别。并复制了所有文件。但它仍然不起作用。我将我的图像放在他的测试中,它确实起作用。我将他的自检代码复制到我的页面中,单击链接会出现页面错误:“IEPNGFix”未定义。它还想从我这里得到什么?!哦,它现在起作用了。查看我的更新…不知道这是怎么回事!你混淆了两种方法。DXImageTransform不用于HTC。但无论如何,我有blank.gif作为HTML的兄弟,而不是在媒体文件夹中。有什么理由blank和.png需要在同一位置,因为除此之外,我的路径设置正确。这只是一种可能的szenario来显示文件设置及其路径。在我的应用程序文件夹结构更复杂。只是想显示一个简单的测试配置;)
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='yourimage.png')