2

在 IE8 中,当 div 高于 window 时,-ms-filter 背景消失。在 IE7 及以下工作正常。(我可以使用 1px 透明图像,但如果我需要使用透明颜色加上背景图像怎么办)

示例代码和小提琴:

<!DOCTYPE html>
<html lang="sk">
<head>
    <meta charset="utf-8">
    <style>
        html,body{height:100%;margin:0;padding:0;}
        #one{
            float:left;
            height:100%;
            width:50%;
            background:rgba(0,0,0,0.5);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC917C6F,endColorstr=#CC917C6F)";
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC917C6F,endColorstr=#CC917C6F);
        }
        #two{
            float:right;
            height:101%;
            width:50%;
            background:rgba(255,0,0,0.5);
            -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCAAAA6F,endColorstr=#CCAAAA6F)";
            filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCAAAA6F,endColorstr=#CCAAAA6F);
        }
    </style>
</head>
<body>
    <div id="one"></div>
    <div id="two"></div>
</body>
</html>

http://jsfiddle.net/9dmqg/4/ 谢谢。

4

1 回答 1

0

这是因为 p 标签的固定高度。将固定高度设为min-height并添加height:auto

#one p {
     height:auto; min-height:800px;
}
#two p {
    height:auto; min-height:800px;
}

演示

于 2013-03-05T10:04:46.777 回答