有没有办法让阴影只落在底部?我有一个菜单,两个图像彼此相邻。我不想要一个正确的阴影,因为它重叠了正确的图像。我不喜欢使用图像,所以有没有一种方法只把它放在底部,比如:

box-shadow-bottom: 10px #FFF;或类似的吗?

-moz-box-shadow: 0px 3px 3px #000;
-webkit-box-shadow: 0px 3px 3px #000;
box-shadow-bottom: 5px #000;
/* For IE 8 */
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=180, Color='#000000')";
/* For IE 5.5 - 7 */
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=180, Color='#000000');

当前回答

我还需要一个阴影,但只是在一个图像下,并设置在稍微左和右。这招对我很管用:

.box-shadow {
   -webkit-box-shadow: 5px 35px 30px -25px #888888;
      -moz-box-shadow: 5px 35px 30px -25px #888888;
           box-shadow: 5px 35px 30px -25px #888888;
}

应用于的元素是一个页面宽的图像(980px x 300px)。

如果它有助于摆弄设置时,他们运行如下:

水平阴影,垂直阴影,模糊距离,扩散(即阴影大小)和颜色。

其他回答

你可以这样做:

一般的语法:

selector {
   box-shadow: topBoxShadow, bottomBoxShadow, rightBoxShadow, leftBoxShadow
}

示例:我们只想创建一个红色的底框阴影,

因此,为了做到这一点,我们必须设置所有的边选项,我们必须设置底部框的阴影选项,并将所有其他选项设置为空,如下所示:

.box {
     -moz-box-shadow: 0 0 0 transparent ,0 0 10px red, 0 0 0 transparent, 0 0 0 transparent
     -o-box-shadow: 0 0 0 transparent ,0 0 10px red, 0 0 0 transparent, 0 0 0 transparent
     -webkit-box-shadow: 0 0 0 transparent ,0 0 10px red, 0 0 0 transparent, 0 0 0 transparent
     box-shadow: 0 0 0 transparent ,0 0 10px red, 0 0 0 transparent, 0 0 0 transparent
}

你需要知道每个值是什么:

/* offset-x | offset-y | blur-radius | spread-radius | color */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

若要只在元素的一侧应用阴影效果,请将模糊值设置为正数,并将扩展值设置为相同大小,但带负号。根据你想要阴影在哪一边,设置偏移值如下:

顶部阴影:offset-x: 0和offset-y: -5px 右阴影:偏移-x: 5px和偏移-y: 0 底部阴影:偏移-x: 0和偏移-y: 5px 左阴影:偏移-x: -5px和偏移-y: 0

.box{ margin: 2rem; padding: 1rem; } .shadow-all{ box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); } .shadow-top { box-shadow: 0 -5px 3px -3px #00000030; } .shadow-right { box-shadow: 5px 0 3px -3px #00000030; } .shadow-bottom { box-shadow: 0 5px 3px -3px #00000030; } .shadow-left { box-shadow: -5px 0 3px -3px #00000030; } <div class="box shadow-all"> Shadow All </div> <div class ="box shadow-top"> Shadow Top </div> <div class ="box shadow-right"> Shadow Right </div> <div class ="box shadow-bottom"> Shadow Bottom </div> <div class ="box shadow-left"> Shadow left </div>

在这里和这里阅读更多

更新别人的答案是透明的,而不是白色的,所以它也适用于其他颜色的背景。

身体{ 背景:url (http://s1.picswalls.com/wallpapers/2016/03/29/beautiful-nature-backgrounds_042320876_304.jpg) } div { 后台:url(https://www.w3schools.com/w3css/img_avatar3.png) center center; background-size:包含; 宽度:100 px; 身高:100 px; 保证金:50 px; 边框:5px纯白色; Box-shadow: 0px 0 rgba(0,0,0,0), 0px 0 rgba(0,0,0,0), 0 7px 7px -5px黑色; } < div > < / div >

阅读说明书总是好的。没有box-shadow-bottom属性,就像Lea指出的,你应该总是把没有前缀的属性放在底部,放在有前缀的属性之后。

所以它是:

.shadow { -webkit-box-shadow: 0px 2px 4px #000000; -moz-box-shadow: 0px 2px 4px #000000; Box-shadow: 0px 2px 4px #000000; } <div class="shadow">一些内容</div>

最好是查影子:

.header{
    -webkit-box-shadow: 0 -8px 73px 0 rgba(0,0,0,0.2);
    -moz-box-shadow: 0 -8px 73px 0 rgba(0,0,0,0.2);
    box-shadow: 0 -8px 73px 0 rgba(0,0,0,0.2);
}

此代码目前在stackoverflow web上使用。