IE8的CSS3 Box Shadow Effect?

时间:2012-06-05 15:00:30

标签: html css css3 internet-explorer-8

我有以下风格来达到这个效果:

适用于IE9和Chrome,但不适用于IE8。我应该改变什么才能使它在IE8中运行。

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

enter image description here

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

3 个答案:

答案 0 :(得分:5)

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


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

  

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

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

答案 1 :(得分: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年而不是微软。 ;)

答案 2 :(得分:1)

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

由于PIE与其他一些javascript冲突现在崩溃IE8我面临很多麻烦