我想在 CSS 中实现这一点 - 而不是 CSS3,因为我希望所有浏览器都支持它
即包含内容的 div,每边都有阴影。顶部区域将用于导航。我已经搜索了教程,但到目前为止无济于事。帮助!
Box Shadow 适用于所有现代 [IE>8] 浏览器,此代码不使用图像,适用于 IE 9 以下版本的所有浏览器。
box-shadow:2px 2px 10px 10px #C9C9C9;
-webkit-box-shadow:2px 2px 10px 10px #C9C9C9;
-moz-box-shadow:2px 2px 10px 10px #C9C9C9;
/* For IE<9 */
filter:
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=0,strength=5),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=45,strength=2),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=90,strength=5),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=135,strength=5),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=180,strength=10),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=225,strength=5),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=270,strength=5),
progid:DXImageTransform.Microsoft.Shadow(color=#C9C9C9,direction=315,strength=2);
从 IE 9 开始支持盒子阴影。
CSS3pie是一个可以让你在 IE 中使用一些 css3 属性的工具。
您正在尝试做的是在较新的浏览器中相当普遍的 css3,并在 IE 中使用可以从那里下载的 .htc 文件很好地(并且很容易地)模拟。
至于标记,我只看到 2 个元素,例如,顶部的元素向右浮动。您必须使用 z-index 来隐藏多余的阴影。在该站点中也有非常相似的效果,您应该能够根据需要对其进行调整。
这应该适用于所有浏览器:
.allSidesShadow { 盒子阴影:2px 2px 19px #aaa; -o-box-shadow:2px 2px 19px #aaa; -webkit-box-shadow:2px 2px 19px #aaa; -moz-box-shadow:2px 2px 19px #aaa; /* 对于 IE 5.5 - 7 */ /* IE4 - IE7 */ 筛选: progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=1,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=90,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=180,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=270,颜色=#C4C4C4); -ms-过滤器:“ progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=1,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=90,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=180,颜色=#C4C4C4), progid:DXImageTransform.Microsoft.Shadow(强度=9,方向=270,颜色=#C4C4C4) "; }
正如 Ventus 所说,无法将 css 阴影与 ie 一起使用(仅 ie9)。但是你可以使用shadowOn。这是一个很棒的 jquery 插件并且非常易于使用。有了它,您将拥有跨浏览器兼容性。
Sekar 发布的答案需要稍作编辑,
box-shadow:2px 2px 10px 10px #C9C9C9;
-webkit-box-shadow:2px 2px 10px 10x #C9C9C9;
-moz-box-shadow:2px 2px 10px 10px #C9C9C9;
这在 IE 上不起作用(我在 IE8 上检查过)。
box-shadow: inset 0 0 3px 0 #000;
表示左 0 像素,右 0 像素,3 像素模糊,0 像素漫反射,使用比 BG 稍暗的颜色。
我现在看不到你的照片,但对于所有侧面阴影,我使用以下代码:
box-shadow: 0 0 5px 0 #000;
而不是 5px 使用您的大小。
您必须创建多个图像。一个用于左侧。一为右。一个用于底部,等等。然后有几个 div 并为每个 div 设置背景。
您可以使用三个 div 执行此操作,假设它们的宽度都相同(固定):
<div class='top'>
</div>
<div class='middle'>
<p>Hello World!</p>
</div>
<div class='bottom'>
</div>
.top{
background:url('top.png');
height:20px;
width:800px;
}
.middle{
background:url('middle.png') repeat-y;
width:800px;
}
.bottom{
background:url('bottom.png');
height:20px;
width:800px;
}
或者,您可以制作一张大图像,并将其用作整个内容区域的背景;然后硬编码所包含元素的位置和大小。
您可以将以下代码放在 div 中,以便在所有四个侧面上放置阴影。
-webkit-box-shadow: 0 0 10px rgba(0,0,0,.1);
box-shadow: 0 0 10px rgba(0,0,0,.1);