为什么盒子阴影被另一个div隐藏?

时间:2013-07-29 03:26:04

标签: html css

我正在尝试在另一个div的顶部添加一个box-shadow,但它会被剪切掉。为什么以及如何解决?

HTML:

<div id="top">
    <div id="box">

    </div>
    <div id="banner">

    </div>
</div>

CSS:

#box {
    height:30px;
    box-shadow: 80px 70px 3px rgba(30, 76, 80, 1) , 
                0px -2px 3px rgba(240, 21, 21, 1), 
                2px 0px 3px rgba(38, 238, 0, 1),
                -2px 0px 3px rgba(158, 29, 243, 1);
}

#banner{
    height:40px;
    background-color:orange;
}

JSFiddle:http://jsfiddle.net/rQNg9/

结果应该在下一个div的顶部有阴影。

(我在Windows 7上运行Chrome 28)

4 个答案:

答案 0 :(得分:3)

DOM的顺序自然有#banner“高于”框,所以你可以添加:

position: relative;
z-index: 1;

到#box,它的工作方式为:http://jsfiddle.net/rQNg9/1/

答案 1 :(得分:1)

我希望我能正确理解你的问题。

<强> Example

你需要

position:relative;

用于

z-index:1;

正常工作。

我也改变了

box-shadow: 8px 32px 3px rgba(30, 76, 80, 1) , 
            0px -2px 3px rgba(240, 21, 21, 1), 
            2px 0px 3px rgba(38, 238, 0, 1),
            -2px 0px 3px rgba(158, 29, 243, 1);

以使阴影落在另一个div上

答案 2 :(得分:0)

尝试将position: relative;添加到#box

答案 3 :(得分:0)

*{
    padding:0px;
    margin:0px;
    }
    #box {
    height:30px;
    box-shadow: 80px 70px 3px rgba(30, 76, 80, 1) , 
                0px -2px 3px rgba(240, 21, 21, 1), 
                2px 0px 3px rgba(38, 238, 0, 1),
                -2px 0px 3px rgba(158, 29, 243, 1);
                position:relative;
                z-index:100;
}`enter code here`