1

我有以下风格来获得这种效果:

它适用于 IE9 和 Chrome,但不适用于 IE8。我应该改变什么才能让它在 IE8 中工作。

请注意,我已将此样式应用于封装图像的标签。

在此处输入图像描述

 border-collapse: separate !important;
 box-shadow: 0px 0.5px 11px 4px #888888;
4

3 回答 3

5

IE8 本身不支持box-shadow. 您可以为此使用惊人的CSS3 PIE库。


但是请注意,这并不能完全复制box-shadow. 主要是,如果您的图像具有任何透明度,则元素后面的阴影会泄漏:

与其他浏览器不同,PIE 渲染的阴影形状在元素背景后面的区域是不透明的。这意味着如果您的元素具有透明或半透明的背景,则不透明的阴影将显示出来。为避免这种情况,您必须 [..] 给元素一个不透明的背景

请参阅:http ://css3pie.com/documentation/supported-css3-features/#box-shadow

于 2012-06-05T15:02:14.680 回答
3

您可以使用 IE 特定filter的 css 规则来实现这一点并完全放弃 CSS3PIE。

这会给你一些接近你正在寻找的东西。

filter: 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=0,strength=5), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=45,strength=2), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=90,strength=5), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=135,strength=5), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=180,strength=10), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=225,strength=5), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=270,strength=5), 
  progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=315,strength=2); 

可以在此处查看演示:http: //hedgerwow.appspot.com/demo/shadow

有关 IE 过滤器的更多信息,请参阅此 MSDN 文章: http: //msdn.microsoft.com/en-us/library/ms532847 (v=vs.85).aspx

从 IE4 开始,就在 css2 之前,并且在没有浏览器完全支持 CSS1 的时候,这些过滤器中的许多已经被支持。因此,如果您认为辉光滤镜看起来很难看,请归咎于 1997,而不是微软。;)

于 2012-07-11T21:44:08.553 回答
1

CSS3PIE 是你在这个问题上的朋友,去试试吧,但要小心在 IE8 上使用它

由于 PIE 与其他一些 JavaScript 的冲突,我现在正面临着 IE8 崩溃的问题

于 2012-06-05T15:10:02.270 回答