CSS3中關於box-shadow屬性的使用詳解

來源:互聯網
上載者:User
每次使用box-shadow,都要查閱資料才能實現對應的效果,現在總結一下,方便以後查看。

一、文法:

E {box-shadow: inset x-offset y-offset blur-radius spread-radius color};
E {box-shadow: 投影方式 X軸位移量 Y軸位移量 陰影模糊半徑 陰影擴充半徑 陰影顏色};

二、取值:

1. 陰影類型:此參數可選,預設的投影方式是外陰影;如果取其唯一值“inset”,就是將外陰影變成內陰影;

2.X-offset:是指陰影水平位移量,其值可正可負,正值,則陰影在對象的右邊,負值,陰影在對象的左邊;

3. Y-offset:是指陰影的垂直位移量,其值也可以是正負值,正值,陰影在對象的底部,負值時,陰影在對象的頂部;

4.陰影模糊半徑:此參數是可選,只能為正值,如果其值為0時,表示陰影不具有模糊效果,值越大陰影的邊緣就越模糊;

5. 陰影擴充半徑:此參數可選,其值可為正負值,正值,則整個陰影都延展擴大,反之,則縮小

6. 陰影顏色:此參數可選,不設定任何顏色時,瀏覽器會取預設色,但各瀏覽器預設色不一樣,特別是在webkit核心下的safari和chrome瀏覽器將無色,也就是透明,建議不要省略此參數。

三、相容瀏覽器的寫法


//Firefox4.0-
-moz-box-shadow: 投影方式 X軸位移量 Y軸位移量 陰影模糊半徑 陰影擴充半徑 陰影顏色;
//Safari and Google chrome10.0-
-webkit-box-shadow: 投影方式 X軸位移量 Y軸位移量 陰影模糊半徑 陰影擴充半徑 陰影顏色;
//Firefox4.0+ 、 Google chrome 10.0+ 、 Oprea10.5+ and IE9
box-shadow: 投影方式 X軸位移量 Y軸位移量 陰影模糊半徑 陰影擴充半徑 陰影顏色;

box-shadow和text-shadow一樣可以使用一個或多個投影,如果使用多個投影時必須需要用逗號“,”分開。

四、IE濾鏡類比box-shadow陰影製作效果

基本文法:filter:progid:DXImageTransform.Microsoft.Shadow(color=’顏色值’, Direction=陰影角度(數值),Strength=陰影半徑(數值));

注意:

1.該濾鏡必須配合background屬性一起使用,否則該濾鏡失效;
2.濾鏡裡的顏色屬性必須寫完整,不能用縮寫;
3.濾鏡的陰影是計算在寬高內的;
4.在盒陰影下,box會自動加上overflow:hidden;

五、常用陰影的實現代碼


<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>box-shadow的用法</title>    <style type="text/css">        p{            width:60px;            height:60px;            margin:40px auto;            background-color: grey;        }        /*右下陰影*/        .box-shadow-1{            -webkit-box-shadow: 3px 3px 3px;            -moz-box-shadow: 3px 3px 3px;            box-shadow: 3px 3px 3px;        }        /*四邊同色陰影*/        .box-shadow-2{            -webkit-box-shadow:0 0 10px #0CC;            -moz-box-shadow:0 0 10px #0CC;            box-shadow:0 0 10px #0CC;        }        /*四邊同色陰影擴充*/        .box-shadow-3{            -webkit-box-shadow:0 0 10px 15px #0CC;            -moz-box-shadow:0 0 10px 15px #0CC;            box-shadow:0 0 10px 15px #0CC;        }        /*四邊同色內陰影*/        .box-shadow-4{            -webkit-box-shadow:inset 0 0 10px #0CC;            -moz-box-shadow:inset 0 0 10px #0CC;            box-shadow:inset 0 0 10px #0CC;        }        /*四邊異色外陰影*/        .box-shadow-5{            box-shadow:-10px 0 10px red, /*左邊陰影*/            10px 0 10px yellow, /*右邊陰影*/            0 -10px 10px blue, /*頂部陰影*/            0 10px 10px green; /*底邊陰影*/        }        /*疊加異色陰影*/        .box-shadow-6{            box-shadow:0 0 10px 5px black,            0 0 10px 20px red;        }        /*類border邊框效果(只設定陰影擴充半徑和陰影顏色)*/        .box-shadow-7{            box-shadow: 0 0 0 1px red;        }        /*相容ie*/        .box-shadow{            filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696',Direction=135, Strength=5);/*for ie6,7,8*/            background-color: #ccc;            -moz-box-shadow:2px 2px 5px #969696;/*firefox*/            -webkit-box-shadow:2px 2px 5px #969696;/*webkit*/            box-shadow:2px 2px 5px #969696;/*opera或ie9*/        }    </style></head><body><p class="box-shadow-1"></p><p class="box-shadow-2"></p><p class="box-shadow-3">    </p><p class="box-shadow-4"></p><p class="box-shadow-5"></p><p class="box-shadow-6"></p><p class="box-shadow-7">    </p><p class="box-shadow"></p></body></html>

具體效果見:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.