box-shadow 阴影
博客专区 > own1991 的博客 > 博客详情
box-shadow 阴影
own1991 发表于1个月前
box-shadow 阴影
  • 发表于 1个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

E {box-shadow: inset x-offset y-offset blur-radius spread-radius color};
E {box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色};

想要给单边加阴影,其它边框会出现明显或者不明显的阴影

box-shadow: inset 3px -4px 10px rgba(0,0,255,0.06);

给div 只增加上边框内阴影

box-shadow:inset 0 2px 1px rgba(0,0,0,0.05);

二、取值:

     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;

关于IE滤镜,具体可参考http://blog.sina.com.cn/s/blog_4c1e6a010101fvgw.html

以上博文,参考了http://blog.csdn.net/freshlover/article/details/7610269 以及 http://www.w3cplus.com/content/css3-box-shadow

 

五、常用阴影的实现代码

复制代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>box-shadow的用法</title>
    <style type="text/css">
        div{
            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>
<div class="box-shadow-1"></div>
<div class="box-shadow-2"></div>
<div class="box-shadow-3"></div>
<div class="box-shadow-4"></div>
<div class="box-shadow-5"></div>
<div class="box-shadow-6"></div>
<div class="box-shadow-7"></div>
<div class="box-shadow"></div>
</body>
</html>

复制代码

具体效果见下图:

http://www.cnblogs.com/sapho/p/5481257.html

共有 人打赏支持
粉丝 0
博文 46
码字总数 28641
×
own1991
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: