Javascript 在IE 6中,我应该如何在背景上重复使用透明PNG?

Javascript 在IE 6中,我应该如何在背景上重复使用透明PNG?,javascript,html,css,internet-explorer,png,Javascript,Html,Css,Internet Explorer,Png,下面的代码有一个重复的背景图像“thinline.png”。最上面是4层透明png:cardshadow.png、steel.png、startjobapplicationshadow.png和startapplication.png 我的目标是使这段代码在IE6中看起来很好,而不会弄乱其他浏览器。IE的这一特性已被广泛记录,但我一直无法使其正常工作。请给我一些想法或例子来帮助我解决这个问题 谢谢。 迈克 守则: <div style="height: 333px; width: 10

下面的代码有一个重复的背景图像“thinline.png”。最上面是4层透明png:cardshadow.png、steel.png、startjobapplicationshadow.png和startapplication.png

我的目标是使这段代码在IE6中看起来很好,而不会弄乱其他浏览器。IE的这一特性已被广泛记录,但我一直无法使其正常工作。请给我一些想法或例子来帮助我解决这个问题

谢谢。 迈克

守则:

  <div style="height: 333px; width: 100%; position: absolute; top: 68px; background-image:url(Resources/thinline.png); background-repeat:repeat-x; ">
<div style="position: absolute; height: 300px; width: 215px; top: 15px; right: 50%; margin-right: -390px; z-index: 2; ">
<img src="Resources/steel.png" style="position: absolute; top: 0px; z-index: 3;"/>
<img src="Resources/cardshadow.png" style="position: absolute; top: 0px; margin-top: -8px; margin-left: -10px; z-index: 2">
<img src="Resources/startjobapplication.png" style="margin-left: -65px; position: relative; top: 258px; left: 50%; z-index: 5; display: block;"/>
<img src="Resources/startjobapplicationshadow.png" style="margin-left: -67px; margin-top: -20px; position: relative; top: 258px; left: 50%; z-index: 4; display: block;"/>


我还没有测试过,但你可以试试。将此类应用于适当的图像

 img.transparent {
   filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...);
 }
我没有IE6的副本,所以我不能确保它能正常工作

我还发现它似乎解决了JS的问题。
读了多一点之后,最后一个解决方案可能是最好的解决方法。

看看迪安·爱德华兹的作品。这是一个用于InternetExplorer6的javascript库,它可以使透明PNG正常工作,并修复css错误和添加对其他css功能的支持。我在过去使用过这个库,并取得了一些成功(这比添加特定于IE的css黑客更容易)。但是,加载时页面可能会短暂出现错误。

使用Microsoft的AlphaImageLoader作为背景存在问题。它们基本上不会重复

有两种解决方案:

  • 如果您的图像可以拉伸-请使用AlphaImageLoader中的适当设置:
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='path/to/file.png',sizingMethod='scale')

  • 如果图像无法拉伸,则应使用JavaScript解决方案,如。 注意:它使用Microsoft的.HTC文件,该文件必须以特定(
    text/x-component
    )元类型发送到浏览器,否则它将无法工作


  • 对于背景图像,如果在实际代码中未使用内联样式,并且取决于背景图像和可接受的质量损失,则可以将png另存为gif并使用

    * html .divclass {background-image:url(Resources/thinline.gif);}
    
    其中.divclass是div的类名或#id

    *html
    将覆盖ie6的背景图像

    使用