我有以下风格来达到这个效果:
适用于IE9和Chrome,但不适用于IE8。我应该改变什么才能使它在IE8中运行。
请注意,我已将此样式应用于封装图像的标记。
border-collapse: separate !important;
box-shadow: 0px 0.5px 11px 4px #888888;
答案 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我面临很多麻烦