如何为IE转换此box-shadow属性?

时间:2013-06-07 17:01:01

标签: css internet-explorer css3

我正在将此属性用于box-shadow:

 box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);

它不适用于IE。我抬头看了网,发现我可以使用这样的东西:

filter: progid:DXImageTransform.Microsoft.Shadow(color=#aaaaaa,direction=135,strength=10); 

但我不知道如何将此框阴影值用于此IE代码段。我该如何转换它?

3 个答案:

答案 0 :(得分:3)

不幸的是,旧IE上没有用于盒式阴影过滤器的自动生成器。

我可以提供的最佳建议是使用CSS3 Pie(link found here)。它提供CSS3功能,如border-radiuslinear-gradient以及box-shadow,一直回到IE6。

略微切向,但有一个非常酷的自动 - filter生成器用于由Kimili(link found here)完成的rgba / hsla颜色。对box-shadow没有帮助,但使用这些疯狂过滤器在IE6-8上创建background-color不透明度非常棒。

答案 1 :(得分:1)

它适用于IE 9,10和11.您只需要IE 8及更低版本的过滤器。您还应该为旧的Android浏览器和iOS Safari以及较旧的黑莓添加-webkit版本。

-webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);

您可以尝试使用旧版本的IE:

/* For IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#000000')";
/* For IE 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color='#000000');

或者,您可以考虑使用像http://css3pie.com/这样的库,如果您必须支持旧版本的IE,它将为您处理盒子阴影(以及其他内容)。

答案 2 :(得分:1)

最好的方法是访问msdn.microsoft.com网站http://msdn.microsoft.com/en-us/library/ms673539(v=vs.85).aspx 在这里,您可以使用不同的过滤器 请注意,您可以使用以下方式将过滤器(例如框或文本阴影)与
相乘 检查阴影和阴影滤镜,你可能能够做出类似的安静。
如果阴影也适用于文本,请为元素提供背景,如果您不需要背景,请为像素图像提供数千像素。 希望它有所帮助。
请注意,为这么少的访客花费的时间可能不值得。 干杯