有没有办法只在底部放置阴影?我有一个菜单,其中有 2 张图像并排放置。我不想要正确的阴影,因为它与正确的图像重叠。我不喜欢为此使用图像,所以有没有办法将其仅放在底部,例如:
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');
原文由 damage000 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新 4
与更新 3 相同,但具有现代 css(=更少规则),因此不需要对伪元素进行特殊定位。
更新 3
我之前的所有答案都是使用额外的标记来创建这种效果,这不是必需的。我认为这是一个 更 清洁的解决方案……唯一的技巧是使用这些值来获得正确的阴影定位以及阴影的正确强度/不透明度。这是一个新的小提琴,使用 伪元素:
http://jsfiddle.net/UnsungHero97/ARRRZ/2/
HTML
CSS
更新 2
显然,正如其他人刚刚指出的那样,您只需在 box-shadow CSS 中添加一个额外的参数即可做到这一点。这是演示:
http://jsfiddle.net/K88H9/821/
CSS
这将是一个更好的解决方案。添加的额外参数描述为:
更新
查看 jsFiddle 的演示:http: //jsfiddle.net/K88H9/4/
我所做的是创建一个“阴影元素”,它将隐藏在您想要拥有阴影的实际元素后面。我使“阴影元素”的宽度比实际元素的宽度精确地小了您指定的阴影的 2 倍;然后我正确对齐它。
HTML
CSS
原始答案
是的,您可以使用您提供的相同语法来执行此操作。第一个值控制水平定位,第二个值控制垂直定位。因此,只需将第一个值设置为
0px
并将第二个值设置为您想要的任何偏移量,如下所示:有关框阴影的更多信息,请查看以下内容:
我希望这有帮助。