box-shadow
屬性可以設定一個或多個下拉陰影的框
可以在同一個元素上設定多個陰影效果,並用逗號將他們分隔開。該屬性可設定的值包括陰影的X軸偏移量、Y軸偏移量、模糊半徑、擴散半徑和顏色。
語法:
box-shadow: h-shadow v-shadow blur spread color inset;
div.box{ /* x偏移量 | y偏移量 | 陰影模糊半徑 | 陰影擴散半徑 | 陰影顏色 */ box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); }
值 | 描述 |
h-shadow | 必需的。水平陰影的位置。允許負值 |
v-shadow | 必需的。垂直陰影的位置。允許負值 |
blur | 可選。模糊距離 |
spread | 可選。陰影的大小 |
color | 可選。陰影的顏色。在CSS顏色值尋找顏色值的完整列表 |
inset |
可選。從外層的陰影(開始時)改變陰影內側陰影 |
注意:這裡 inset
引數只能設定在第一或者最後,其他位置無效!
===直接上程式碼===
(1)h-shadow 和 v-shadow 兩個值表示陰影的偏移量
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{ margin: 20px; display: inline-block; width: 100px; height: 100px; background-color: red; } .box1{ box-shadow: 10px 10px blue; } .box2{ box-shadow: -10px -10px blue; } .box3{ box-shadow: -10px 10px blue; } .box4{ box-shadow: 10px -10px blue; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> <div class="box3"></div> <div class="box4"></div> </body> </html>
結論:從上面結果可以看出,兩個屬性值可以取正值也可以取負值,並且方向為座標系取值方向相同(x軸正值向右負值向左,y軸正值向下負值向上)
(2)blur 屬性值表示陰影的模糊距離/半徑(可選)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{ margin: 20px; display: inline-block; width: 100px; height: 100px; background-color: red; } .box1{ /* 模糊距離為5 */ box-shadow: 10px 10px 5px blue; } .box2{ /* blur值為0等同於沒設定模糊距離,沒有模糊效果 */ box-shadow: -10px -10px 0px blue; } .box3{ /* blur值不能為負數,為負數則陰影失效 */ box-shadow: -10px 10px -5px blue; } .box4{ /* blur值越大越模糊 */ box-shadow: -10px 10px 20px blue; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> <div class="box3"></div> <div class="box4"></div> </body> </html>
結論:如果不寫該引數或者該引數為0則陰影完全實心,沒有模糊效果,並且該值越大陰影越模糊
(3) spread 屬性值表示設定的陰影大小(可選)
這個值可以被看作是從元素到陰影的距離
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{ margin: 20px; display: inline-block; width: 100px; height: 100px; background-color: red; } .box1{ /* spread為0(預設值) */ box-shadow: 0px 0px 10px 0px blue; } .box2{ /* spread為5(正值會在元素的四個方向延伸陰影) */ box-shadow: 0px 0px 10px 5px blue; } .box3{ /* spread為-1(負值會使陰影變得比元素本身尺寸還要小) */ box-shadow: 0px 0px 10px -1px blue; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> <div class="box3"></div> </body> </html>
結論:
- 預設值“0”會讓陰影變得得和元素的大小一樣(無設定)
- 正值會在元素的四個方向延伸陰影
- 負值會使陰影變得比元素本身尺寸還要小
(4) color 屬性值指定陰影的顏色
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{ margin: 20px; display: inline-block; width: 100px; height: 100px; background-color: red; } .box1{ /* color值表示陰影顏色 */ box-shadow: 0px 0px 10px 5px blue; } .box2{ box-shadow: 0px 0px 10px 5px green; } .box3{ box-shadow: 0px 0px 10px 5px orange; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> <div class="box3"></div> </body> </html>
(5)inset 設定陰影為內側
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> div{ margin: 20px; display: inline-block; width: 100px; height: 100px; background-color: red; } .box1{ box-shadow: 0px 0px 10px 5px blue; } .box2{ /* inset設定陰影為內側陰影 */ box-shadow: 0px 0px 10px 5px blue inset; } </style> </head> <body> <div class="box1"></div> <div class="box2"></div> </body> </html>
至此,box-shadow盒子陰影屬性已經介紹完畢