3

我有两个相邻的 div,类名为 div1 和 div2。我使用 box-shadow 在两个 div 上获得漂亮的阴影。问题是我希望 div1 的阴影覆盖 div2,以获得 div2 从 div1 后面伸出的感觉。现在我让 div2 的阴影超过了 div1 。希望你能理解我的问题。有可能解决这个问题吗?

<div class="div1"></div>
<div class="div2"></div>

这是CSS:

.div1 {
    float: left;
    box-shadow: 0px 0px 80px #A0A0A0;
    -webkit-box-shadow: 0px 0px 80px #A0A0A0;
    -moz-box-shadow: 0px 0px 80px #A0A0A0;
}

.div2 {
    float: left;
    box-shadow: 0px 0px 80px #A0A0A0;
    -webkit-box-shadow: 0px 0px 80px #A0A0A0;
    -moz-box-shadow: 0px 0px 80px #A0A0A0;
}
4

2 回答 2

5

你需要给这两种背景颜色 - 默认情况下元素是透明的,从而导致它们的阴影“突出”彼此。要将它们相互叠加,只需使用z-indexCSS 属性。

.div1 {
    z-index: 99;
}

.div2 {
    z-index: 100;
}

div {
    float: left;
    width: 100px;
    height: 100px;
    border: 1px solid #999;
    background-color: white;
    margin-right: 5px;

    -webkit-box-shadow: 0px 0px 80px #A0A0A0;
    -moz-box-shadow: 0px 0px 80px #A0A0A0;
    box-shadow: 0px 0px 80px #A0A0A0;
}

见: http: //www.jsfiddle.net/wspDP/4/

于 2010-09-01T15:31:40.930 回答
1
<style>
.container{
  position:relative;
}
.div1 {
    z-index:80;
    width:500px;
    height:500px;
    float: left;
    box-shadow: 0px 0px 80px #A0A0A0;
    -webkit-box-shadow: 0px 0px 80px #aaa;
    -moz-box-shadow: 0px 0px 80px #A0A0A0;
}

.div2 {
    z-index:-10;
    position:absolute;
    width:500px;
    height:500px;
    float: left;
    left:560px;
    top:30px;
    box-shadow: 0px 0px 80px #A0A0A0;
    -webkit-box-shadow: 0px 0px 80px #333;
    -moz-box-shadow: 0px 0px 80px #A0A0A0;
}
</style>
<div class="container">
  <div class="div1">asdf </div>
  <div class="div2">asd asdf</div> 
</div>

z-index 越高意味着 div 会在最上面,所以你可以根据需要进行调整,但要给出准确的感觉,你可能需要玩颜色,暗影 vs 亮影。

于 2010-09-01T15:41:47.550 回答