代码之家  ›  专栏  ›  技术社区  ›  Alsciende

css不透明度在IE7中不起作用

  •  10
  • Alsciende  · 技术社区  · 14 年前

    我有这个测试页: http://jsfiddle.net/VWnm9/7/ . 在我所有运行IE7或IE8的计算机上,图像都正确地淡入,除了一台运行IE7的计算机,即使在noext模式下也不会淡出花朵。

    页面为:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html lang="en">
    <head>
        <style type="text/css">
            body {
                background: blue;
            }
            img {
                filter: alpha(opacity=10);
                opacity: 0.1;
            }
        </style>
    </head>
    <body>
        <img src="http://upload.wikimedia.org/wikipedia/commons/c/c3/Extracted_pink_rose.png" />
    </body>
    </html>
    

    有人知道为什么吗?

    4 回复  |  直到 14 年前
        1
  •  21
  •   mqchen    14 年前

    你可能需要应用一些MS的过滤器。

    如:

    img {
        opacity: 0.1;
        -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
        filter: alpha(opacity=10);  
    }
    

    More info about opacity on quirksmode .

        2
  •  0
  •   Community CDub    7 年前

    不是百分之百确定,但这可能是因为 opacity 在透明PNG上:请参见 this SO question

        3
  •  0
  •   Alex    14 年前

    我通常会求助于半透明的.PNG。当你需要支持IE6和IE7的某些版本时,这是一个比CSS更好的解决方案

        4
  •  0
  •   Alex    12 年前

    PNG图像在这种情况下非常有用。