1

相邻元素通常看起来好像它们是融合在一起的,它们之间没有线条或接缝)。示例:http: //jsfiddle.net/4m3L79w4/1/

但是,如果使用阴影,情况似乎不再如此。

html:

<div class="top"></div>
<div class="bottom"></div>

CSS:

DIV {
    background-color: #7faf7f;
    width: 400px;
    height: 50px;
    position: relative;
    box-shadow: 0px 5px 20px 5px #000000;
}
.top {
    z-index: 2;
}
.bottom {
    z-index: 2;
}

“底部”元素在“顶部”元素上投射阴影,即使两者具有相同的 z-index。

JSFiddle:https ://jsfiddle.net/b4fvb7e0/1/

是不是可以让两个元素之间的阴影消失,让look融合呢?

这实际上是我正在尝试创建的标题的简化版本,在某些页面中应该与下一个元素融合在一起。JSFiddle 带有独立的标题和以下元素:http: //jsfiddle.net/c8oat7vo/3/

4

1 回答 1

2

在顶部和底部设置一个伪元素,并在此设置阴影。

此外,将伪元素的 z-index 设置为 -1

感谢 Jose Gomez 修复了 z-index 问题

DIV {
    background-color: #7faf7f;
    width: 400px;
    height: 50px;
    position: relative;
}
.stack {
    background-color: #7f7faf;
    width: 80%;
    height: 60%;
    left: 10%;
    top: 20%;
    box-shadow: 0px 5px 20px 5px #000000;
    z-index: 1;
}
.top {
    width: 350px;
    margin-left: auto;
    margin-right: auto;
    z-index: auto;
    position: relative;
}
.bottom {
    width: 100%;
    z-index: auto;
}

.top:after, .bottom:after {
    content: "";
    position: absolute;
    top: 0px; left: 0px; right: 0px; bottom: 0px;
    box-shadow: 0px 5px 20px 5px #000000;
    z-index: -1;
}
<div class="top">
    <div class="stack"></div>
</div>
<div class="bottom"></div>

于 2015-04-24T16:14:54.207 回答