網(wǎng)頁設(shè)計(jì)中常常要用到陰影的效果,通過陰影可以比較容易突出一個(gè)元素,在沒有CSS3的時(shí)候,一般都用圖片做陰影效果,而現(xiàn)在通過使用CSS3的text-shadow和box-shadow這兩個(gè)屬性就可以分別設(shè)置文字和容器的陰影。這是一種新特性。不過這種特性只在支持CSS3的瀏覽器上有效果,比如:Firefox3.5,Safari 3.1 +,和谷歌瀏覽器等。
box-shadow: h-shadow v-shadow blur spread color inset;
以上各屬性值的解析:<html>
<head>
<title>W3Cschool(w3cschool.cn)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#shadow {
box-shadow: 10px 10px 5px #888888;
width:500px;
padding:5px;
text-align:center;
font-size:20px;
background:#21759b;
margin:0 auto;
color:#ffffff;
}
</style>
</head>
<body>
<div id="shadow">W3Cschool(w3cschool.cn)</div>
</body>
</html>
.box-shadow{
//Firefox4.0-
-moz-box-shadow:h-shadow v-shadow blur spread color inset;
//Safariand Google chrome10.0-
-webkit-box-shadow:h-shadow v-shadow blur spread color inset;
//Firefox4.0+、 Google chrome 10.0+ 、 Oprea10.5+ and IE9
box-shadow:h-shadow v-shadow blur spread color inset;
}
注意:出于方便,后文的css屬性有的地方只寫了box-shadow屬性,沒有寫-moz-和-webkit-前綴的形式,在使用中不要忘記加上。<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>CSS3屬性:box-shadow測試</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.boxshadow.js"></script>
<style type="text/css">
.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 rgba(0, 204, 204, .5);
-moz-box-shadow:0 0 10px rgba(0, 204, 204, .5);
box-shadow:0 0 10px rgba(0, 204, 204, .5);
}
.box-shadow-4{
-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-5{
-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-6{
box-shadow:-10px 0 10px red, /*左邊陰影*/
10px 0 10px yellow, /*右邊陰影*/
0 -10px 10px blue, /*頂部陰影*/
0 10px 10px green; /*底邊陰影*/
}
.box-shadow-7{
box-shadow:0 0 10px 5px black,
0 0 10px 20px red;
}
.box-shadow-8{
box-shadow:0 0 10px 20px red,
0 0 10px 5px black;
}
.box-shadow-9{
box-shadow: 0 0 0 1px red;
}
.obj{
width:100px;
height:100px;
margin:50px auto;
background:#eee;
}
.outer{
width: 100px;
height: 100px;
border: 1px solid red;
}
.inner{
width: 60px;
height: 60px;
background-color: red;
-webkit-box-shadow: 50px 50px blue;
-moz-box-shadow: 50px 50px blue;
box-shadow: 50px 50px blue;
}
</style>
</head>
<body>
<div class="obj box-shadow-1"></div>
<div class="outer">
<div class="inner"></div>
</div>
<div class="obj box-shadow-2" ></div>
<div class="obj box-shadow-3" ></div>
<div class="obj box-shadow-4" ></div>
<div class="obj box-shadow-5" ></div>
<div class="obj box-shadow-6" ></div>
<div class="obj box-shadow-7" ></div>
<div class="obj box-shadow-8" ></div>
<div class="obj box-shadow-9" ></div>
<script type="text/javascript">
$(document).ready(function(){
if($.browser.msie) {
$('.obj').boxShadow(-10,-10,5,"#0cc"); //obj元素使用了box-shadow
}
});
</script>
</body>
</html>
.box-shadow-7{
box-shadow:0 0 10px 5px black,
0 0 10px 20px red;
}
將能看出層疊的順序效果:.box-shadow-8{
box-shadow:0 0 10px 20px red,
0 0 10px 5px black;
}
將只顯示紅色的陰影效果,因?yàn)榧t色陰影層在上面,模糊半徑大,將后面的黑色陰影完全遮擋。.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*/
}
li.blk-item{
width:423px;
height:229px;
float:left;
padding:8px;
margin:2px 18px 13px 21px;
display:inline;
border:1px solid #d3c998;
border-radius:2px;
filter:progid:DXImageTransform.Microsoft.Shadow(color='#d3c998', Direction=135,Strength=5);/*for ie6,7,8*/
background-color: #fff;
-moz-box-shadow:2px 2px 5px#d3c998;/*firefox*/
-webkit-box-shadow:2px 2px 5px#d3c998;/*webkit*/
box-shadow:2px 2px 5px #d3c998;/*opera或ie9*/
}
<script type="text/javascript">
$(document).ready(function(){
if($.browser.msie) {
$('.obj').boxShadow(-10,-10,5,"#0cc"); //obj元素使用了box-shadow
}
});
</script>
注意:js中可以使用:obj.style.webkitBoxShadow=值(字符串);obj.style.MozBoxShadow=值(字符串);obj.style.boxShadow=值(字符串);border-top-left-radius:[<length> | <percentage> ] [ <length> | <percentage> ]?
默認(rèn)值:0
取值:
<length>:
用長度值設(shè)置對象的左上角(top-left)圓角半徑長度。不允許負(fù)值
<percentage>:
用百分比設(shè)置對象的左上角(top-left)圓角半徑長度。不允許負(fù)值
說明:
設(shè)置或檢索對象的左上角圓角邊框。提供2個(gè)參數(shù),2個(gè)參數(shù)以空格分隔,每個(gè)參數(shù)允許設(shè)置1個(gè)參數(shù)值,第1個(gè)參數(shù)表示水平半徑,第2個(gè)參數(shù)表示垂直半徑,如第2個(gè)參數(shù)省略,則默認(rèn)等于第1個(gè)參數(shù)。 如設(shè)置border-top-left-radius:5px10px;表示top-left這個(gè)角的水平圓角半徑為5px,垂直圓角半徑為10px。對應(yīng)的腳本特性為borderTopLeftRadius。
text-shadow : offset-x || offset-y || opacity || color
該屬性支持4個(gè)參數(shù),分別是陰影顏色、陰影的水平延伸距離(陰影的 x 軸偏移)、陰影的垂直延伸距離(陰影的 y 軸偏移)、模糊效果的作用半徑(陰影的長度)。也許這樣介紹概念會有點(diǎn)難以理解,下面直接寫一個(gè)小例子進(jìn)行說明:/* For text-shadow */
#example {text-shadow: 1px 1px 2px #d8d8d8; }
/* For text-shadow 多重陰影 */
#example-muti {text-shadow: 1px 1px 2px #c10ccc, 1px 1px 2px #648cb4, 1px 1px 6px #cc150c;
}
progid:DXImageTransform.Microsoft.shadow(Color='#d8d8d8', Direction='135', Strength='2'); zoom: 1; }
#example-ie {filter: progid:DXImageTransform.Microsoft.DropShadow(OffX='1', OffY='1', Color='#d8d8d8', Positive='true'); zoom: 1; }
效果如下:/* IE 下多重陰影 */
#example-ie-muti {filter: DropShadow(OffX='1', OffY='1', Color='#c10ccc', Positive='true') DropShadow(OffX='1', OffY='1', Color='#648cb4', Positive='true') DropShadow(OffX='1', OffY='1', Color='#cc150c', Positive='true'); zoom: 1; }
更多建議: