CSS3 box-shadow 陰影應用
使用 CSS box-shadow 製作 DIV 區塊陰影效果應用範例。
box-shadow: h-shadow v-shadow blur spread color inset;
CSS3 box-shadow 向區塊添加一個或多個陰影。屬性可以是由逗號分隔的陰影列表,每個陰影由 2-4 個長度值、可選的顏色值以及可選的 inset 關鍵詞來規定。省略長度的值是 0。
h-shadow 水平陰影的位置、用來設置陰影偏移量,允許負值《必需》
v-shadow 垂直陰影的位置、用來設置陰影偏移量,允許負值《必需》
blur 模糊距離、值越大,模糊面積越大《可選》
spread 正值時陰影擴張、負值時陰影收縮,預設為 0 陰影與元素同樣大《可選》
color 陰影的顏色《可選》
inset 將外部陰影 outset 改為內部陰影《可選》
https://developer.mozilla.org/zh-TW/docs/Web/CSS/box-shadow
加上文字陰影效果
兩層 DIV 區塊陰影並加上文字陰影效果,產生文字凹陷使用負值。
shadow
HTML
<div class="shadow-inset"><div><b>shadow</b></div></div>
CSS
div.shadow-inset{margin:30px 0;} /* 區塊基本樣式 */ div.shadow-inset div{margin:0px 10%;width:80%;height:200px;background-color:#cd5c5c; border:3px solid #cd5c5c;border-radius:9px;text-align:center;} /* 區塊添加陰影 */ div.shadow-inset div{box-shadow: 0px 0px 12px rgba(0,0,0,0.5), inset 6px 6px 32px rgba(255,255,255,0.1), inset 0px 0px 8px rgba(255,255,255,0.5), inset -5px -5px 12px rgba(0,0,0,0.25);} /* 文字陰影 */ div.shadow-inset div b{font-family:Roboto,Arial,sans-serif;font-size:72px; line-height:200px;letter-spacing:-2px;color:#f0f0f0; text-shadow: -1px -1px 5px rgba(0,0,0,0.35);}
浮雕陰影 Embossed shadow
使用兩層區塊一個用來表達陰影,內層呈現高光效果,此時需要帶有底色才能襯托出來。
A
B
HTML
<div class="embossed-shadow"> <div class="black-shadow"> <div class="white-emboss">A</div> </div> <div class="black-shadow"> <div class="white-emboss">B</div> </div> </div>
CSS
div.embossed-shadow{margin:30px 0px;padding:20px 0px;background-color:#e9ecef;max-width:900px;} div.embossed-shadow div{margin:30px auto;width:120px;height:120px; background-color:#e9ecef;border-radius:30%;} /* 區塊陰影及高光效果 */ div.embossed-shadow div.black-shadow{box-shadow: 6px 6px 16px rgba(0,0,0,0.3);} div.embossed-shadow div.white-emboss{box-shadow: -6px -6px 16px rgba(255,255,255,1);} /* 文字陰影 */ div.embossed-shadow div div{font-size:48px;text-align:center; line-height:120px;text-shadow: 2px 2px rgba(255,255,255,0.75);}
使用陰影替代邊線
HTML
<div class="grow"></div>
CSS
div.grow{width:200px;height:100px;background-color:#9acd32;}
製作一個黃綠色的方塊,blur 模糊距離為 0 由擴張、位置來改變方向。與 border 邊框主要差異是影響版面位置,邊框佔有空間、陰影則忽略空間超出的部份可能不見或穿越,視情況使用。
由下左右擴張
box-shadow:0px 30px 0px 30px #6b8e23;
由中心四面擴張
box-shadow: 0px 0px 0px 30px #6b8e23;
由下擴張
box-shadow: 0px 60px 0px 0px #6b8e23;
由右擴張
box-shadow: 150px 0px 0px 0px #6b8e23;
由左右擴張
box-shadow: 60px 0px 0px #6b8e23, -60px 0px 0px #6b8e23;
由上下擴張
box-shadow: 0px 30px 0px #6b8e23, 0px -30px 0px #6b8e23;
jQuery box-shadow 應用
$("div.jquery-shadow div").css({ "box-shadow": n1 + "px " + n1 + "px " + n2 + "px " + n3 + "px rgba(0,0,0,0.5)" });
box-shadow: 2px 2px 15px 0 rgba(0,0,0,0.5);