任何方法得到盒影在左和右(水平?)边只有没有黑客或图像。我正在使用:
box-shadow: 0 0 15px 5px rgba(31, 73, 125, 0.8);
但周围都是阴影。
我在元素周围没有边界。
任何方法得到盒影在左和右(水平?)边只有没有黑客或图像。我正在使用:
box-shadow: 0 0 15px 5px rgba(31, 73, 125, 0.8);
但周围都是阴影。
我在元素周围没有边界。
当前回答
这招对我很管用:
box-shadow: 0 5px 5px 0 #000;
其他回答
另一个想法可能是创建一个暗模糊的伪元素,最终与透明度模仿阴影。让它的高度稍低,宽度稍宽。
为了在图像的左右两侧或任何其他内容上有一个漂亮的嵌入阴影,可以这样使用它(z-index:-1在显示带有嵌入的图像或内部对象时做了一个很好的技巧):
.shadowcontainer { 显示:inline-flex; 框影:插入-40px 0px 30px -30px rgba(0,0,0,0.9),插入40px 0px 30px -30px rgba(0,0,0,0.9); } .innercontent { z - index: 1 } < div class = " shadowcontainer”> <img src="https://www.google.es/images/srpr/logo11w.png" class="innercontent" style="with:100%"/> < / div >
另一种方法是使用overflow-y:隐藏在带有填充的父类上:
身体{ 填充:30 px; } #包装{ overflow-y:隐藏; 填充:0 10px; } #包装> div { 宽度:100 px; 身高:100 px; Box-shadow: 0 0 20px -5px红色; } < div id = " wrap " > < div > < / div > < / div >
clip-path现在(2020)是我发现的在元素的特定侧面实现盒阴影的最佳方法,特别是当所需的效果是在特定边缘的“干净切割”阴影时,就像这样:
.shadow-element { 宽度:100 px; 身高:100 px; background - color: # FFC300; Box-shadow: 0 0 10px 5px rgba(0,0,0,0.75); 剪辑路径:插入(0px -15px 0px -15px); /*位置和左属性需要将元素从父元素的边缘带出来 这样影子就能被看见;左边距也可以实现相同的功能*/ 位置:相对; 左:15 px; } < div class = " shadow-element " > < / div >
...而不是像这样减弱/减少/变薄的阴影:
.shadow-element { 宽度:100 px; 身高:100 px; background - color: # FFC300; 盒影:15px 0 15px -10px rgba(0,0,0,0.75), -15px 0 15px -10px rgba(0,0,0,0.75); /*位置和左属性需要将元素从父元素的边缘带出来 这样影子就能被看见;左边距也可以实现相同的功能*/ 位置:相对; 左:15 px; } < div class = " shadow-element " > < / div >
简单地将以下CSS应用到有问题的元素:
box-shadow: 0 0 Xpx Ypx [hex/rgba]; /* note 0 offset values */
clip-path: inset(Apx Bpx Cpx Dpx);
地点:
Apx为顶部边缘设置阴影可见性 Bpx正确 Cpx底部 Dpx左
对于任何应该隐藏阴影的边,输入一个0的值,对于任何应该显示阴影的边,输入一个负值(与模糊半径+扩展值- Xpx + Ypx的组合结果相同)。
注意:我建议看看下面@Hamish的回答;它不涉及这里描述的解决方案中不完美的“掩蔽”。
你可以用多个盒子阴影来接近;每边一个
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/
Edit
为顶部和底部添加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/