在没有 CSSPie 的 IE 中有一种方法。IE 7 & 8 中的问题是应用阴影的元素需要设置背景颜色。否则阴影会被子元素(包括文本)继承。
这就是我实现跨浏览器框阴影的方式。这应该适用于 IE 7-10、我曾经尝试过的所有 Chrome 和 FF 版本以及 Safari。忽略我的颜色选择,显然您需要将它们设置为适合您页面的任何颜色。
.wrapper {
border: solid 1px #A7A7A7;
background-color:#ffffff;/*transparent won't work*/
}
.shadow {
-moz-box-shadow: 2px 2px 3px #A7A7A7;
-webkit-box-shadow: 2px 2px 3px #A7A7A7;
box-shadow: 2px 2px 3px #A7A7A7;
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=135, Color='#A7A7A7')";
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=135, Color='#A7A7A7');
}
然后只需将两个类都应用于父元素
<div class="wrapper shadow">
<div id="someInnerDiv">
<p>Some text that used to inherit the box-shadow, but doesn't anymore</p>
strong text</div>
</div>