隨著技術的發展,代碼在不斷的進步,進而替代一些圖片所能實現的效果,其中CSS3屬性中“Box-shadow”表現陰影效果是現代瀏覽器中是一個非常有用的技巧,通過它我們可以做出很多非常酷的東西。讓我們來一步一步的了解box-shadow屬性的基本用法,然后進一步了解::before和::after偽元素的用法。
一、基本用法:

box-shadow:2px 2px 5px #000;
box-shadow:0px 0px 10px #000;
二、內陰影用法:

box-shadow:inset 2px 2px 5px #000;
三、陰影擴展長度值

box-shadow:0px 0px 5px 10px #000;
box-shadow:0px 15px 10px -15px #000;
box-shadow:inset 0px 15px 10px -15px #000;
四、多重投影
box-shadow:0px 0px 0px 3px #bb0a0a,
0px 0px 0px 6px #2e56bf,
0px 0px 0px 9px #ea982e;
五、偽元素::before和::after的樂趣
使用偽元素::before和::after,我們能創造出非常逼真的只有圖片才能實現的陰影效果。讓我來看一個例子:
<div class="box11 shadow lazy "></div>
CSS設置:
.box11 {
width: 300px;
height: 100px;
background: #ccc;
border-radius: 10px;
margin: 10px;
}
.shadow {
position: relative;
max-width: 270px;
box-shadow: 0px 1px 4px rgba(0,0,0,0.3),
0px 0px 20px rgba(0,0,0,0.1) inset;
}
.shadow::before,
.shadow::after {
content:"";
position:absolute;
z-index:-1;
}
.shadow::before,
.shadow::after {
content:"";
position:absolute;
z-index:-1;
bottom:15px;
left:10px;
width:50%;
height:20%;
}
.shadow::before,
.shadow::after {
content:"";
position:absolute;
z-index:-1;
bottom:15px;
left:10px;
width:50%;
height:20%;
box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
transform:rotate(-3deg);
}
.shadow::after{
right:10px;
left:auto;
transform:rotate(3deg);
}