一、box-shadow的參數解析 此處參考http://blog.csdn.net/baidu_31345523/article/details/50264869 二、box-shadow應用 在說明我們這個應用之前,先給大家推薦一個網站http://www.css88.com/tool/css3 ...
一、box-shadow的參數解析
box-shadow:none;
box-shadow: h-shadow v-shadow blur spread color inset;
值 | 描述 |
---|---|
none | 預設值,元素沒有任何陰影效果。 |
h-shadow | 陰影水平偏移量,其值可以是正負值。如果取正值,則陰影在元素的右邊,反之取負值,陰影在元素的左邊。 |
v-shadow | 陰影垂直偏移量,其值可以是正負值。如果取正值,則陰影在元素的底部,反之取負值,陰影在元素的頂部。 |
blur | 陰影模糊半徑,可選參數。其值只能是正值,如果取值為“0”時,表示陰影不具有模糊效果,如果取值越大,陰影的邊緣就越模糊。 |
spread | 陰影擴展半徑,可選參數。其值可以是正負值,如果取值為正值,則整個陰影都延展擴大,反之取值為負值,則整個陰影都縮小。 |
color | 陰影顏色,可選參數,如果不設定任何顏色時,瀏覽器會取預設色,但各瀏覽器預設色不一樣,特別是在Webkit內核下的瀏覽器將無色,也就是透明,建議不要省略這個參數。 |
inset | 陰影類型,可選值。如果不設置,其預設的投影方式是外陰影;如果取其唯一值“inset”,就是給元素設置內陰影。 |
此處參考http://blog.csdn.net/baidu_31345523/article/details/50264869
二、box-shadow應用
在說明我們這個應用之前,先給大家推薦一個網站http://www.css88.com/tool/css3Preview/Box-Shadow.html,這個網站裡面可以調試盒子模型陰影,文字陰影,圓角等,功能挺多的,調試完之後可以直接複製代碼
我們接下來要做的效果,是這樣的
註意這個區域,白色的盒子模型上面遺留著上面橙色盒子的邊框陰影,這個效果怎麼做呢?
<div class="contain"> <div class="contain-wrapper"> </div> <div class="foot-wrapper"> </div> </div>
我們的html代碼就這些,很明顯綠色區域是contain,橙色是contain-wrapper,白色是foot-wrapper。
我們來寫他們的css代碼
*{ margin:0; padding: 0; } .contain{ overflow: hidden; margin: 0 auto; width: 250px; height: 300px; background-color: #09b800; } .contain-wrapper{ margin: 0 auto; margin-top: 10px; width: 200px; height: 100px; background: #ff7e00; border-radius: 10px; box-shadow: 0px 9px 15px -1px rgba(0,0,0,0.3); } .foot-wrapper{ margin: 0 auto; width: 180px; height: 100px; background: white; }
我們給橙色盒子設置了邊框陰影,橙色盒子的下邊框和白色盒子的上邊框緊密地貼在一起,這時候,問題出現了,我們來看看效果
我們發現橙色盒子的下邊框的陰影被白色盒子給遮住了,這可如何是好?我是用一個特別猥瑣的方法解決的。
既然陰影被遮住了,那麼我們就讓白色盒子補償給橙色盒子一條陰影,不是有一個參數叫做inset嗎?我們把白色盒子的上邊框的陰影往裡面投影,補上這個空缺不就好了嗎?
*{ margin:0; padding: 0; } .contain{ overflow: hidden; margin: 0 auto; width: 250px; height: 300px; background-color: #09b800; } .contain-wrapper{ margin: 0 auto; margin-top: 10px; width: 200px; height: 100px; background: #ff7e00; border-radius: 10px; box-shadow: 0px 9px 15px -1px rgba(0,0,0,0.3); } .foot-wrapper{ margin: 0 auto; width: 180px; height: 100px; background: white; box-shadow: inset 0 9px 5px -1px rgba(0,0,0,0.1);//新增,其他所有的參數要跟橙色盒子的陰影一樣,只是方向改變,這樣才不會影響結合起來的效果。 }