【问题标题】:IE6 PNG transparency fix with Background positionedIE6 PNG透明度修复与背景定位
【发布时间】:2010-03-14 09:56:50
【问题描述】:

我正在使用它来修复 IE6 中背景图像的 PNG 透明度

ul li a
{
    background-image: url('/NewSite/Content/Images/Sprite.png');
    background-repeat: no-repeat;
    background-position: 0 -48px;
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/NewSite/Content/Images/Sprite.png, sizingMethod='crop');
}

这很好用,但是我在尝试用 sprite 实现它时遇到了问题。该修复会忽略定位并呈现为好像该位置在右上角。

有没有办法强制背景位置或更好的方法来做到这一点。我宁愿不使用 JavaScript 或更改为 gif。

【问题讨论】:

    标签: css internet-explorer-6 png-transparency


    【解决方案1】:

    AFAIK 做你想做的事的唯一方法是使用IEPNGFix
    您将不得不使用 JavaScript,但您可以像我一样在条件 cmets 下扭曲它。

    <!--[if lt IE 7]>
        <link rel="stylesheet" href="css/ie6.css" type="text/css" />
        <script type="text/javascript" src="js/iepngfix_tilebg.js"></script>
    <![endif]-->
    

    ie6.css内部

    ul li a { behavior: url(iepngfix.htc); }
    

    【讨论】:

    • 这是我接受的答案,但我必须能够在没有 JavaScript 的情况下执行。我最终只是放弃了精灵并将我的方法用于单个图像。然而,它的效果很好,所以这就是小费。
    猜你喜欢
    • 1970-01-01
    • 2010-10-16
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2012-07-27
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多