text-shadow是給文本添加陰影效果,box-shadow是給元素塊添加周邊陰影效果。
隨著[HTML5]和[CSS3]的普及,這一特殊效果使用越來越普遍。
基本語法是{box-shadow:[inset] h-shadow v-shadow blur-radius spread-radiuscolor}
對象選擇器 {box-shadow:[投影方式] X軸偏移量 Y軸偏移量陰影模糊半徑 陰影擴展半徑 陰影顏色}
陰影類型:此參數可選。如不設值,默認投影方式是外陰影;如取其唯一值“inset”,其投影為內陰影;
h-shadow:陰影水平偏移量,其值可以是正負值。如果值為正值,則陰影在對象的右邊,其值為負值時,陰影在對象的左邊;
v-shadow:陰影垂直偏移量,其值也可以是正負值。如果為正值,陰影在對象的底部,其值為負值時,陰影在對象的頂部;
陰影模糊半徑:此參數可選,,但其值只能是為正值,如果其值為0時,表示陰影不具有模糊效果,其值越大陰影的邊緣就越模糊;
陰影擴展半徑:此參數可選,其值可以是正負值,如果值為正,則整個陰影都延展擴大,反之值為負值時,則縮小;
陰影顏色:此參數可選。如不設定顏色,瀏覽器會取默認色,但各瀏覽器默認取色不一致
(1)從內外兩個div塊inner、outer的對比來看,所有支持box-shadow的主流瀏覽器都表現為:內層陰影撐破外層容器將整個陰影效果呈現出來。
(2)非零值的border-radius將會以相同的作用影響陰影的外形,但border-image不會影響對象陰影的任何外形;對象陰影同box模型的層次一樣,外陰影會在對象背景之下,內陰影會在邊框之下背景之上。我們知道,默認情形背景圖片是在背景顏色之上的。所以整個層級是:邊框>內陰影>背景圖片>背景顏色>外陰影。
(3)box-shadow:一個元素使用了多個陰影,多個陰影之間用逗號分隔。給對象四邊設置陰影效果,我們是通過改變h-shadow和y-offset的正負值來實現,其中h-shadow為負值時,生成左邊陰影,為正值時生成右邊陰影,v-shadow為正值是生成底部陰影,為負值時生成頂部陰影。并且把模糊半徑設置為0,如果不設置為0的話那么其他三邊也將會有陰影。
(4)陰影層次的問題:當給同一個元素使用多個陰影屬性時,需要注意它的順序,最先寫的陰影將顯示在最頂層。
(5)設置box-shadow 只想要一邊的邊框 我們可以把四個邊分別設置然后 把不需要的設置為白色。
text-shadow 文本陰影
h-shadow 必需。水平陰影的位置。允許負值。
v-shadow 必需。垂直陰影的位置。允許負值。
blur 可選。模糊的距離。
color 可選。陰影的顏色。