HTML box-shadow是CSS3的一種新特性,它可以使一個元素產生一個或多個陰影效果,並且與框的邊框之外呈現。本文將從多個角度深入探討HTML box-shadow的各種用法,幫助開發者更好地了解該特性並加以應用。
一、基礎用法
1、簡單陰影效果
.box {
box-shadow: 5px 5px 5px #888888;
}
該效果將在元素右側和下方產生一個5像素的陰影,陰影顏色為#888888。
2、多重陰影效果
.box {
box-shadow:
5px 5px 5px #888888,
10px 10px 5px #888888;
}
多個box-shadow屬性定義多個陰影效果,各屬性之間用逗號隔開。該效果將在元素右下方產生一個大小為5像素、顏色為#888888的陰影,以及一個大小為10像素、顏色為#888888的陰影。
3、立體化效果
.box {
box-shadow: 2px 2px 2px #888888, -2px -2px 2px #888888;
}
通過在陰影大小參數中使用正數和負數,可以創建一個立體化效果。該效果將在元素四周產生大小為2像素、顏色為#888888的陰影,左上角和右下角的陰影為下凸出的立體效果,右上角和左下角的陰影為上凸出的立體效果。
二、深入了解參數
1、長度單位
box-shadow中的長度值可以使用任何CSS長度單位,包括:像素(px)、EMs、REMs、百分比等。如下代碼可以讓一個元素生成3像素寬、距離左上方三像素、顏色為#333333的陰影:
.box {
box-shadow: 3px 3px #333333;
}
2、偏移量
陰影的第一個參數確定偏移量,第一個參數通常是陰影的水平和垂直偏移量,可以使用2個值分別指定偏移量,也可以使用1個值指定相同的偏移量。如果省略第2個參數,則默認值等於第一個參數,使陰影在所有方向上有相同的偏移量。
.box {
box-shadow: 3px 6px #333333;
}
3、模糊半徑
模糊半徑決定陰影的邊緣模糊程度。模糊半徑值越大,陰影就越模糊,而值越小則陰影就越尖銳,甚至於沒有模糊效果。如果省略第3個參數,則默認為0,使陰影變成一個尖銳的斜線效果。
.box {
box-shadow: 3px 6px 10px #333333;
}
4、擴張半徑
擴張半徑可以擴大或者縮小陰影面積。如果省略第4個參數,則陰影保持在邊框的內側,完全在元素內部,而不會擴張到元素的外部。如果定義的值為負數,則使陰影收縮到元素內部。擴張半徑不會改變陰影的顏色,只增加了陰影的寬度/高度。
.box {
box-shadow: 2px 2px 2px 2px #333333;
}
三、使用技巧與案例展示
1、製作按鈕效果
box-shadow可以很好地應用於按鈕效果,通過使用不同的偏移量、模糊半徑和顏色,可以創建出各種風格的按鈕。例如,下方代碼可以創建一個漂亮的扁平化按鈕:
.btn {
display: inline-block;
padding: 0.75rem 1.5rem;
border-radius: 3px;
background-color: #333333;
color: #ffffff;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
2、創建3D效果的盒子
通過使用不同顏色和偏移量,可以為元素創建3D效果的盒子,使元素在頁面中更為突出。例如,下方代碼可以創建一個黑色盒子,並在鼠標懸停時產生類似於翹邊的3D效果:
.box {
width: 200px;
height: 200px;
background-color: #333333;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
transition: all 0.5s ease-in-out;
}
.box:hover {
box-shadow:
-5px -5px 20px rgba(0, 0, 0, 0.5),
5px 5px 20px rgba(0, 0, 0, 0.5);
}
3、創建動態分割頁面
通過使用box-shadow屬性,可以創建出一個分割頁面的效果。例如,下方代碼可以創建一個動態分割頁面,用戶可以通過拖動條來調整分割線的位置:
.split {
height: 500px;
position: relative;
overflow: hidden;
}
.leftpane, .rightpane {
height: 100%;
position: absolute;
top: 0;
bottom: 0;
overflow: scroll;
}
.split .divider {
width: 5px;
height: 100%;
position: absolute;
left: 50%;
top: 0;
bottom: 0;
margin-left: -2.5px;
background-color: #333333;
cursor: col-resize;
box-shadow:
-2px 0 2px rgba(0, 0, 0, 0.3),
2px 0 2px rgba(0, 0, 0, 0.3);
}
.split .divider:hover {
box-shadow:
-5px 0 5px rgba(0, 0, 0, 0.5),
5px 0 5px rgba(0, 0, 0, 0.5);
}
.split.leftpane .inner {
margin: 1em;
padding: 1em;
background-color: #ffffff;
box-shadow:
5px 0 15px -5px #888888,
-5px 0 15px -5px #888888;
}
.split.rightpane .inner {
margin: 1em;
padding: 1em;
background-color: #ffffff;
box-shadow:
-5px 0 15px -5px #888888,
5px 0 15px -5px #888888;
}
四、總結
HTML box-shadow是一種非常有用的CSS3特性,可以為網頁元素增加各種不同的陰影效果。本文詳細介紹了box-shadow的各種用法,包括基礎用法、參數細節、使用技巧和案例展示。
原創文章,作者:JMECD,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/369455.html
微信掃一掃
支付寶掃一掃