CSS3 box-shadow 屬性用來描述一個元素的一個或多個陰影效果,該屬性幾乎可以讓你完成你想要的任何陰影效果。然而 box-shadow 屬性語法和取值非常靈活,對於新手有點不容易理解。今天總結一下語法和 box-shadow 屬性各種陰影效果。
語法
CSS 代碼:
/* offset-x | offset-y | color */ box-shadow: 60px -16px teal; /* offset-x | offset-y | blur-radius | color */ box-shadow: 10px 5px 5px black; /* offset-x | offset-y | blur-radius | spread-radius | color */ box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); /* inset | offset-x | offset-y | color */ box-shadow: inset 5em 1em gold; /* Any number of shadows, separated by commas */ box-shadow: 3px 3px red, -1em 0 0.4em olive; /* Global keywords */ box-shadow: inherit; box-shadow: initial; box-shadow: unset;
取值說明:
inset
: 默認陰影在邊框外。使用 inset 后,陰影在邊框內(即使是透明邊框),背景之上內容之下。也有些人喜歡把這個值放在最后,瀏覽器也支持。<offset-x> <offset-y>
: 這是頭兩個<length>
值,用來設置陰影偏移量。<offset-x>
設置水平偏移量,如果是負值則陰影位於元素左邊。<offset-y>
設置垂直偏移量,如果是負值則陰影位於元素上面。可用單位請查看<length>
。如果兩者都是0,那么陰影位於元素后面。這時如果設置了<blur-radius>
或<spread-radius>
則有模糊效果。<blur-radius>
: 這是第三個<length>
值。值越大,模糊面積越大,陰影就越大越淡。 不能為負值。默認為0,此時陰影邊緣銳利。<spread-radius>
: 這是第四個<length>
值。取正值時,陰影擴大;取負值時,陰影收縮。默認為0,此時陰影與元素同樣大。<color>
: 相關事項查看<color>
。如果沒有指定,則由瀏覽器決定——通常是color的值,不過目前Safari取透明。
網上找了幾張圖,大家可以對應的看一下,更加好理解。
再說的具體一點:
CSS 代碼:
div { width: 150px; height: 150px; background-color: #fff; box-shadow: 120px 80px 40px 20px #0ff; /* 順序為: offset-x, offset-y, blur-size, spread-size, color */ /* blur-size 和 spread-size 是可選的 (默認為 0) */ }
來個圖解:
參考鏈接:https://www.html.cn/archives/9360