我们可以通过 CSS3 中的box-shdow
和transform
来实现酷炫的Drop-shadow效果:
下面记录一下是实现步骤。
DOM 结构
我们仅仅需要一个div
作为主体,阴影可借助伪元素:before
和:after
来实现。所以我们的 DOM 结构非常简单。
<div class="drop-shadow">drop shadow effect</div>
添加阴影
给两个伪元素添加阴影,暂时先搞定左边,右边的阴影稍后再处理。
.drop-shadow:before,
.drop-shadow:after {
content: "";
position: absolute;
z-index: -1;
bottom: 15px;
left: 10px;
width: 50%;
height: 20%;
box-shadow: 0 15px 20px rgba(125, 125, 125, 0.8);
}
现在,我们看到的是这个样子:
调整阴影
下面我们再通过transform
来旋转一下阴影的角度,这样看起来更有立体感。
.drop-shadow:before,
.drop-shadow:after {
content: "";
position: absolute;
z-index: -1;
bottom: 15px;
left: 10px;
width: 50%;
height: 20%;
box-shadow: 0 15px 20px rgba(125, 125, 125, 0.8);
transform: rotate(-5deg);
}
这样我们就完成了一边的制作了:
调整阴影
接下来,我们只需要把其中一个阴影挪到右边即可。
.drop-shadow:after {
right: 10px;
left: auto;
transform: rotate(5deg);
}
这样,左边的阴影就翻转到了右边,大功告成: