小编典典

如何仅在左侧和右侧获得框阴影

all

任何方法都可以在没有黑客或图像的情况下在左右(水平?)两侧获得盒子阴影。我在用:

box-shadow: 0 0 15px 5px rgba(31, 73, 125, 0.8);

但它给周围的阴影。

我没有围绕元素的边界。


阅读 67

收藏
2022-05-30

共1个答案

小编典典

注意: 我建议在下面查看答案;它不涉及此处描述的解决方案中不完美的“掩蔽”。

我对 Deefour 解决方案中阴影的圆形顶部和底部不满意,因此创建了我自己的解决方案。

inset box-shadow创建一个很好的均匀阴影,顶部和底部被切断。

要在元素的侧面使用此效果,请创建两个伪元素:before:after绝对定位在原始元素的侧面。

div:before, div:after {
  content: " ";
  height: 100%;
  position: absolute;
  top: 0;
  width: 15px;
}
div:before {
  box-shadow: -15px 0 15px -15px inset;
  left: -15px;
}
div:after {
  box-shadow: 15px 0 15px -15px inset;
  right: -15px;
}

div {
  background: #EEEEEE;
  height: 100px;
  margin: 0 50px;
  width: 100px;
  position: relative;
}
<div></div>

你可以接近多个盒子阴影;每边一个

box-shadow: 12px 0 15px -4px rgba(31, 73, 125, 0.8), -12px 0 8px -4px rgba(31, 73, 125, 0.8);

http://jsfiddle.net/YJDdp/

编辑

再为顶部和底部添加 2 个盒子阴影,以掩盖渗出的阴影。

box-shadow: 0 9px 0px 0px white, 0 -9px 0px 0px white, 12px 0 15px -4px rgba(31, 73, 125, 0.8), -12px 0 15px -4px rgba(31, 73, 125, 0.8);

http://jsfiddle.net/LE6Lz/

2022-05-30