我正在使用border-radius
和box-shadow
围绕元素发光。
我是否只能删除box-shadow
的顶部?
div {
margin-top: 25px;
color: #fff;
height: 45px;
margin-top: -5px;
z-index: -10;
padding: 26px 24px 46px;
font-weight: normal;
background: #000; /*#fff;*/
border-top: 0px solid #e5e5e5;
border-left: 1px solid #e5e5e5;
border-right: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: rgba(200,200,200,0.7) 0px 0px 10px 0px;
-khtml-box-shadow: rgba(200,200,200,0.7) 0px 0px 10px 0px;
-moz-box-shadow: rgba(200,200,200,0.7) 0px 0px 10px 0px;
box-shadow: rgba(200,200,200,0.7) 0px 0px 10px 0px;
}
编辑:这个小问题就是问题!
答案 0 :(得分:12)
由于您使用了box-shadow,因此您可以使用伪元素创建它并放置在div下面,放置它以便只显示所需的部分:http://jsfiddle.net/kL8tR/60/
有一些重要的注意事项:
z-index: -1
position: relative
而不是z-index
伪元素+ CSS3 =太棒了:))
答案 1 :(得分:10)
这有效,但我承认不知道是否有更好的方法(或者如果没有添加包装元素则可能)。使用多个box-shadow
s会是一个好主意,但我似乎无法让它看起来一样。
请参阅: http://jsfiddle.net/thirtydot/8qEUc/3/
<强> HTML:强>
<div id="bla">
<div> something </div>
</div>
<强> CSS:强>
#bla {
overflow-y: hidden;
padding: 0 10px 10px 10px;
margin: 0 -10px
}
#bla > div {
/* the CSS from your question here */
}
答案 2 :(得分:8)
@milo;不是您的顶部边框,而是您在代码中提供的shadow
要移除顶部光晕,您必须定义阴影的垂直间距。
在你的影子css中写下这个:
box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
-moz-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
-webkit-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
-khtml-box-shadow:0 3px 6px 0 rgba(200, 200, 200, 0.7) ;
&安培;你可以从这里生成http://css3generator.com/
注意:阴影有四个属性horizontal, vertical, blur & spread
对于内部阴影,您可以为其定义inset
答案 3 :(得分:1)
您可以尝试以下操作。我的方法仅使用CSS 。
示例链接: http://jsfiddle.net/kL8tR/56/
div{
margin-top: 25px;
color: #fff;
height: 45px;
padding: 26px 24px 46px;
border-left: 1px solid #e5e5e5;
border-right: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
border-top: none;
-moz-box-shadow: 0 0 10px 1px black, 0px -20px black, 0px 1px 10px rgba(255,255,255,0.7);
-webkit-box-shadow: 0 0 10px 1px black, 0px -20px black, 0px 1px 10px rgba(255,255,255,0.7);
box-shadow: 0 0 10px 1px black, 0px -20px black, 0px 1px 10px rgba(255,255,255,0.7);
}
基本上我在做什么,我正在创建多层阴影,所以第一个阴影覆盖第二层,掩盖了顶部。
我以前用过这个,这是我的参考:
查看部分 - 分层多个阴影[http://www.css3.info/preview/box-shadow/]
答案 4 :(得分:1)
你可以将阴影向下移动(垂直位移)并减少阴影半径,沿着某些线条(用星号替换星号, 覆盖顶部阴影所需的像素数量)盒子本身):
box-shadow: 0 *px 10px 0 rgba(200,200,200,0.7);
答案 5 :(得分:0)
如果您使用负传播半径并校准其他参数以适合您的期望,则应能达到预期效果。
CSS Box Shadow Negative Radius Spread
div {
height: 100px;
width: 100px;
border: solid 1px black;
-webkit-box-shadow: 5px 5px 10px -6px black;
-moz-box-shadow: 5px 5px 10px -6px black;
box-shadow: 5px 5px 10px -6px black;
}
<div></div>