我一直在为这个问题撕开我的头发,我想要一个简单的阴影围绕整个元素,除了顶部。我让它在Firefox和Chrome中运行没有问题。但IE有这种奇怪的“方向”设置,另外4个数字定义阴影。
有人可以帮我定义正确的CSS,这样除了顶部之外,它会在整个元素周围留下阴影。
/* For Firefox and Chrome */
-moz-box-shadow: 0px 0px 7px #000;
-webkit-box-shadow: 0px 0px 7px #000;
box-shadow: 0px 0px 7px #000;
/* for IE */
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=600, Color='#000000')";
答案 0 :(得分:24)
阴影滤镜是单向的,方向是1到360度之间的数字。要生成具有偏移阴影的的阴影,您需要使用多个阴影滤镜:
filter: progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=0),
progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=90),
progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=180),
progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=270);
这是按照顶部/右侧/底部/左侧排序,并且改变任何一侧的强度将改变该阴影的大小。例如,2 5 5 10将产生一个直下投影,给出高度错觉。
答案 1 :(得分:8)
与上述答案类似(见下面的注释):
#boxContainer{
filter:
progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=0, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=90, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=180, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=270, Color='#000000');
}
重要:强> 请记住,IE中还存在一个错误,它会将相同的样式应用于子元素。因此,如果愿意,您可能需要应用“计数器”/“Nullifier”。
示例:
#boxContainer button, #boxContainer div, #boxContainer span {
/* Nullify Inherited Effect - Set "Strength=0" */
filter:
progid:DXImageTransform.Microsoft.Shadow(Strength=0, Direction=0, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=0, Direction=90, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=0, Direction=180, Color='#000000'),
progid:DXImageTransform.Microsoft.Shadow(Strength=0, Direction=270, Color='#000000');
}
答案 2 :(得分:5)
请尝试使用“发光”滤镜:
http://msdn.microsoft.com/en-us/library/ms532995(v=VS.85).aspx
DIV.aFilter {
filter:progid:DXImageTransform.Microsoft.Glow(Color=blue,Strength=5);
width: 150px;}
答案 3 :(得分:0)
这里有解决方案: http://www.artlebedev.com/tools/technogrette/html/filters-in-ie/ 结合看起来明显更好的发光和模糊滤镜,引用上面页面中的一个代码示例:
.shadowed .shadow-3
{
filter: progid:DXImageTransform.Microsoft.Glow(Color=#000000,Strength=1.0)
progid:DXImageTransform.Microsoft.Alpha(opacity=25)
progid:DXImageTransform.Microsoft.Blur(pixelradius=1.75, enabled='true');
-ms-filter: "progid:DXImageTransform.Microsoft.Glow(Color=#000000,Strength=1.0)"
"progid:DXImageTransform.Microsoft.Alpha(opacity=25)"
"progid:DXImageTransform.Microsoft.Blur(pixelradius=1.75, enabled='true')";
color: #111111;
top: -2px;
left: -2px;
}