CSS 中的盒阴影在 Internet Explorer 8 中存在问题

4
我有一个关于IE8和CSS的问题。我从MSDN中复制了代码到我的CSS文件中。
.shadow {-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')";}

我使用如下问题代码: <div class="shadow"> <p>Bla Bla</p> </div> 但是我有一个问题,我只想让DIV有阴影,但是"Bla Bla"也有阴影。
有人能提供解决这个问题的方法吗?
谢谢...
3个回答

6
您需要为元素指定一个背景颜色: http://jsfiddle.net/UNKAc/14/
.shadow {
    background:#fff;
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')";
}

不要完全相信我的说法,但是我认为这是因为IE试图投射需要有实体物体才能产生阴影的光线。而且由于你的div当前是透明的,唯一能投射阴影的就是文本本身。

在感到困惑之后,我得出了同样的结论。 - thirtydot

2

我知道这已经过了几个星期了,但如果你仍在调整,你应该真正关注CSS3 PIE。我的一位同事向我展示了它,如果你可以依靠JS来增强IE的这些类型的功能,它非常棒。

http://css3pie.com/documentation/pie-js/


2
你可以将 background-color: #fff 应用于你的 div,这样你就看不到文字产生的阴影了。
然而,与 CSS3 中的 box-shadow 相比,filter 的效果不是很好。
IE8 不支持 box-shadow,但你可以使用 CSS3 PIE 进行模拟。

谢谢,但我不能在IE8上使用PIE.htc。CSSPIE支持的哪些CSS代码不会执行。 - user695763
所以你不能使用JavaScript吗?还有:background-color: #fff 对你有效吗? - thirtydot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接