任何方法得到盒影在左和右(水平?)边只有没有黑客或图像。我正在使用:
box-shadow: 0 0 15px 5px rgba(31, 73, 125, 0.8);
但周围都是阴影。
我在元素周围没有边界。
任何方法得到盒影在左和右(水平?)边只有没有黑客或图像。我正在使用:
box-shadow: 0 0 15px 5px rgba(31, 73, 125, 0.8);
但周围都是阴影。
我在元素周围没有边界。
当前回答
你必须使用多个盒子阴影;. Inset属性使它看起来很漂亮,在里面:
div { 框影:插入0 12px 15px -4px rgba(31, 73, 125, 0.8),插入0 -12px 8px -4px rgba(31, 73, 125, 0.8); 宽度:100 px; 身高:100 px; 保证金:50 px; 背景:白色; } < div > < / div >
其他回答
你可以在里面使用一个div来“擦除”阴影:
.yourdiv{
position:relative;
width:400px;
height:400px;
left:10px;
top:40px;
background-color:white;
box-shadow: 0px 0px 1px 0.5px #5F5F5F;
}
.erase{
position:absolute;
width:100%;
top:50%;
height:105%;
transform:translate(0%,-50%);
background-color:white;
}
你可以使用“高度:%;”和“宽度:%;”来删除你想要的阴影。
注意:我建议看看下面@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/
我不满意Deefour的解决方案中圆形的顶部和底部的阴影,所以创建了我自己的解决方案。
插入盒阴影创建一个漂亮的统一的阴影与顶部和底部切断。
要在元素的两侧使用此效果,请创建两个伪元素:before和:after,它们完全位于原始元素的两侧。
Div:之前,Div:之后{ 内容:“”; 高度:100%; 位置:绝对的; 上图:0; 宽度:15 px; } div:{之前 盒子阴影:-15px 0 15px -15px插入; 左:-15 px; } div:{后 盒子阴影:15px 0 15px -15px插入; 右:-15 px; } div { 背景:继续; 身高:100 px; Margin: 0 50px; 宽度:100 px; 位置:相对; } < div > < / div >
Edit
根据您的设计,您可以使用剪辑路径,如@Luke的回答所示。但是,请注意,在很多情况下,这仍然会导致阴影在顶部和底部逐渐减少,就像你在这个例子中看到的那样:
div { 宽度:100 px; 身高:100 px; 背景:# EEE; Box-shadow: 00 15px 0px #000; 剪辑路径:插入(0px -15px 0px -15px); 位置:相对; Margin: 0 50px; } < div > < / 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 >
你必须使用多个盒子阴影;. Inset属性使它看起来很漂亮,在里面:
div { 框影:插入0 12px 15px -4px rgba(31, 73, 125, 0.8),插入0 -12px 8px -4px rgba(31, 73, 125, 0.8); 宽度:100 px; 身高:100 px; 保证金:50 px; 背景:白色; } < div > < / div >