zoukankan      html  css  js  c++  java
  • CSS3属性boxshadow详解[盒子阴影]

    又一篇css3教程来自http://qdgcs.co.cc 转载请声明。
    上一次我们一起学习了 CSS3属性Border-Radius[圆角],这次,我们来看看box-shadow的具体使用方法。其实它的用法与CSS3属性text-shadow[文字特效]非常相似,有必要的同学可以复习一下。

    box-shadow的语法如下:

    box-shadow: <length> <length> <length>?<length>?||<color>
    box-shadow:inset x-offset y-offset blur-radius spread-radius color

    解析:box-shadow:投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色box-shadow和text-shadow相似,可以使用一个或多个投影,如果使用多个投影时必须需要用逗号“,”分开。

    box-shadow属性至多有6个参数设置,他们分别取值:

    阴影类型:此参数是一个可选值,如果不设值,其默认的投影方式是外阴影;如果取其唯一值“inset”,就是将外阴影变成内阴影,也就是说设置阴影类型为“inset”时,其投影就是内阴影;

    X-offset:是指阴影水平偏移量其值可以是正负值可以取正负值,如果值为正值,则阴影在对象的右边,反之其值为负值时,阴影在对象的左边;

    Y-offset:是指阴影的垂直偏移量,其值也可以是正负值,如果为正值,阴影在对象的底部,反之其值为负值时,阴影在对象的顶部;

    阴影模糊半径:此参数是可选,,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;

    阴影扩展半径:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值是,则缩小

    阴影颜色:此参数可选,如果不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样,特别是在webkit内核下的safari和chrome浏览器将无色,也就是透明,建议不要省略此参数。

    浏览器的兼容:

    这个属性已经广泛被最新版的各大浏览器支持,我们只要写一个box-shadow即可通用,无需再考虑内核限制,这是一件令人兴奋的事情!

    我们来看一个例子

    [css]
    div
    {
    100px;
    height: 100px;
    box-shadow:
    -2px 0 10px rgba(1,2,3,0.5), /*左边阴影 rgba的a相当于filter: alpha(opacity=?); 设置颜色透明度 */
    0 -2px 10px blue, /*顶部阴影*/
    0 2px 10px red, /*底部阴影*/
    2px 0 10px yellow; /*右边阴影*/
    }
    [/css]

    效果如图:
    我们结合上一章所学,来做一个简单的文字logo,来看代码:

    [css]
    .logo
    {
    padding:50px;
    150px;
    height: 30px;
    border: 30px solid rgba(22,22,22,0.1);
    border-top-left-radius: 60px 90px;
    border-bottom-right-radius: 90px 60px;
    box-shadow: inset 10px /*水平偏移 正右负左*/ -10px /*垂直偏移 正下负上*/ 10px 10px rgba(26,72,222,0.4),
    inset -10px /*水平偏移 正右负左*/ 10px /*垂直偏移 正下负上*/ 10px 10px rgba(26,72,222,0.7);
    }
    [/css]

    实例Demo

    在上面的例子中我们还看到了相框的实例,这里要解释一下

    [css]
    img
    {
    box-shadow:0 0 10px red,
    2px 2px 10px 10px yellow,
    4px 4px 12px 12px green;
    }

    /*我们只是调换了box-shadow的定义顺序,结果截然不同了。这里要注意,先定义的阴影显示在最上层,如果上层阴影大于底层,就会遮住底层阴影 */
    .other
    {
    /*这里要注意,先定义的阴影显示在最上层,如果上层阴影大于底层,就会遮住底层阴影*/
    box-shadow:4px 4px 12px 12px green,
    0 0 10px red,
    2px 2px 10px 10px yellow;

    }
    [/css]

    实例Demo

    感谢大家学习,原文地址:http://qdgcs.co.cc 转载请声明,谢谢。

  • 相关阅读:
    angularJS
    WebSocket通信协议
    重写ajax方法实现异步请求session过期时跳转登录页面
    npm(cnpm)介绍(安装gulp)
    grunt安装与配置
    前端学习之jquery
    前端基础之CSS
    前端基础html
    激活
    socket 网络通信(基于tcp协议)以及粘包解决方案
  • 原文地址:https://www.cnblogs.com/babyisun/p/2417503.html
Copyright © 2011-2022 走看看