我需要在一些块元素上创建一个box-shadow,但只是(例如)在它的右侧。我的方法是用box-shadow将内部元素包装成带有padding-right和overflow:hidden的外部元素;所以阴影的其他三面是不可见的。
有没有更好的方法来实现这个目标?喜欢box-shadow-right吗?
编辑:我的意图是只创建阴影的垂直部分。与规则background:url(shadow.png) 100% 0% repeat-y完全相同。
我需要在一些块元素上创建一个box-shadow,但只是(例如)在它的右侧。我的方法是用box-shadow将内部元素包装成带有padding-right和overflow:hidden的外部元素;所以阴影的其他三面是不可见的。
有没有更好的方法来实现这个目标?喜欢box-shadow-right吗?
编辑:我的意图是只创建阴影的垂直部分。与规则background:url(shadow.png) 100% 0% repeat-y完全相同。
当前回答
div {
border: 1px solid #666;
width: 50px;
height: 50px;
-webkit-box-shadow: inset 10px 0px 5px -1px #888 ;
}
其他回答
这可能是一个简单的方法
border-right : 1px solid #ddd;
height:85px;
box-shadow : 10px 0px 5px 1px #eaeaea;
将此分配给任何div
我自制的解决方案很容易编辑:
HTML:
<div id="anti-shadow-div">
<div id="shadow-div"></div>
</div>
css:
#shadow-div{
margin-right:20px; /* Set to 0 if you don't want shadow at the right side */
margin-left:0px; /* Set to 20px if you want shadow at the left side */
margin-top:0px; /* Set to 20px if you want shadow at the top side */
margin-bottom:0px; /* Set to 20px if you want shadow at the bottom side */
box-shadow: 0px 0px 20px black;
height:100px;
width:100px;
background: red;
}
#anti-shadow-div{
margin:20px;
display:table;
overflow:hidden;
}
演示: http://jsfiddle.net/jDyQt/103
只需使用::after或::before伪元素来添加阴影。使它1px,并把它放在你想要的任何一边。下面是顶部的例子。
页脚{ margin-top: 50 px; 颜色:# fff; background - color: # 009 eff; text-align:中心; 行高:90 px; 位置:相对; } 页脚:{后 内容:”; 位置:绝对的; 宽度:100%; 身高:1 px; 上图:0; 左:0; z - index: 1; Box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.75); } <footer> . </footer> .
好的,再试一次。使用伪元素并在其上应用阴影盒属性。
html:
<div class="no-relevant-box">
<div class="div-to-shadow-1"></div>
<div class="div-to-shadow-2"></div>
</div>
萨斯:
.div-to-shadow-1, .div-to-shadow-2
height: 150px
width: 150px
overflow: hidden
transition: all 0.3s ease-in-out
&::after
display: block
content: ''
position: relative
top: 0
left: 100%
height: 100%
width: 10px
border: 1px solid mediumeagreen
box-shadow: 0px 7px 12px rgba(0,0,0,0.3)
&:hover
border: 1px solid dodgerblue
overflow: visible
https://codepen.io/alex3o0/pen/PrMyNQ
这是我做的一个小技巧。
<div id="element"><!--element that I want an one-sided inset shadow from the bottom--></div>
<div class="one_side_shadow"></div>
1. 创建一个<div class="one_side_shadow"></div>在我想创建的单面框阴影的元素下面(在这种情况下,我想为id="element"从底部来一个单面插入阴影)
2. 然后我用负的垂直偏移量创建了一个常规的盒子阴影,将阴影向上推到一边。
`box-shadow: 0 -8px 20px 2px #DEDEE3;`