语法:

<strong>box-shadow:</strong><em><length></em><em><length></em><em><length></em><em><length></em> || <em><color></em>

取值:

<em><length></em><em><length></em><em><length>?</em><em><length></em>? || <em><color></em>: 阴影水平偏移值(可取正负值);阴影垂直偏移值(可取正负值);阴影模糊值;阴影颜色

现在我将它正确地想表达的意思再表达一下:

<strong>box-shadow:</strong> x 轴偏移 y 轴偏移 [模糊半径] [阴影颜色] [inset]

· 其中 x 轴偏移和 y 轴偏移是必须的两个值(接受正值或负值)

· 模糊半径为可选(如果没有这个值,默认为0,不支持负值)

· 阴影颜色为可选(如果没有这个值,基于 Gecko 的浏览器会使用color属性的值,而基于 webkit 的浏览器会默认为transparent

· inset选项为可选(如果没有这个值,阴影就为外阴影,显示在 box 外部,空间上在 box 后面;如果带有这个值,阴影即为内阴影,空间上显示在 box 前面)

· box-shadow目前要使用的话,基于 Gecko 的浏览器写成-moz-box-shadow,基于 webkit 的浏览器写成-webkit-box-shadow,opera 写成-o-box-shadow,什么都不写,IE9可以识别。

另外需要说明的一点是,box-shadow后面的参数添加阴影效果,你可以添加不只一组参数,每组参数之间使用逗号(,)来分隔,在同一个元素上使用多个阴影,比如像这样:

box-shadow: 0 1px 2px rbga(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.5) inset, ……

我在上一篇文章里面使用了这种方法,大家可以看一下。需要说明的是,新添加的阴影,在空间中的位置会自动向后移一层,具体是什么效果我在下面写一下代码(仅支持box-shadow的浏览器可见):

box-shadow

代码是box-shadow:5px 5px 0 red, 10px 10px 0 blue,可以看到,虽然蓝色的阴影是后来添加的,但空间上它却位于红色的阴影之下。再需要强调的一点是,box-shadow指定的阴影的形状会随着border-radius指定的圆角而变化。也就是说,如果你没有为 box 指定圆角,那么阴影也是方形的;如果你为 box 指定了圆角,那么阴影也是圆角的阴影。一个极端的例子如下:

box-shadow

至于 IE6/7/8 可以使用filter来实现,sofish 的这篇文章里写得很清楚了,可是我不怎么赞同这种写法。我认为box-shadow就是一种锦上添花的效果,如果浏览器方便支持,就加上,如果浏览器不支持,那也真没必要这么做。不知道这算不算是一种 Progressive Enhancement……

box-shadow用法简介的更多相关文章

  1. IOS NSInvocation用法简介

    IOS NSInvocation用法简介 2012-10-25 19:59 来源:博客园 作者:csj007523 字号:T|T [摘要]在 iOS中可以直接调用某个对象的消息方式有两种,其中一种就是 ...

  2. JodaTime用法简介

    JodaTime用法简介 Java的Date和Calendar用起来简直就是灾难,跟C#的DateTime差距太明显了,幸好有JodaTime 本文简单罗列JodaTime的用法 package co ...

  3. Apache自带压力测试工具ab用法简介

    ab命令原理 ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL进行访问.它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp ...

  4. Postman用法简介

    转自:http://blog.csdn.net/flowerspring/article/details/52774399 Postman用法简介 转载 2016年10月10日 09:04:10 10 ...

  5. MSSQL Sql加密函数 hashbytes 用法简介

    转自:http://www.maomao365.com/?p=4732 一.mssql sql hashbytes 函数简介 hashbytes函数功能为:返回一个字符,通过 MD2.MD4.MD5. ...

  6. java assert的用法简介【转】

    assert的基本用法 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C++和Eiffel等,但是支持的形式不尽相同,有的是通过语言本身.有的是通过库 ...

  7. glVertexAttribPointer 用法简介

    在内存中采用交叉模式存储,向gpu传入顶点数据的方法  GPU: #version 100 attribute highp vec2 aPosition; attribute highp vec2 a ...

  8. C#中IPAddress类/Dns类/IPHostEntry类/IPEndPoint用法简介

    C#中IPAddress类/Dns类/IPHostEntry类/IPEndPoint用法简介 IP是一种普遍应用于因特网.允许不同主机能够相互找到对方的寻址协议.IP地址由4个十进制的数字号码所组成, ...

  9. Postman用法简介----https://blog.csdn.net/flowerspring/article/details/52774399

    https://blog.csdn.net/flowerspring/article/details/52774399 Postman用法简介

  10. SpringBoot系列之@Conditional注解用法简介

    SpringBoot系列之@Conditional注解用法简介 引用Spring官方文档的说法介绍一下@Conditional注解:Spring5.0.15版本@Conditional注解官方文档 @ ...

随机推荐

  1. DELPHI控件属性事件说明

    常用DELPHI控件属性事件设置说明 常用DELPHI控件属性设置说明目录TForm Class TPanel组件 TToolBar Class TToolButton Class TTimer Cl ...

  2. 【BZOJ 3165】 [Heoi2013]Segment 李超线段树

    所谓李超线段树就是解决此题一类的问题(线段覆盖查询点最大(小)),把原本计算几何的题目变成了简单的线段树,巧妙地结合了线段树的标记永久化与标记下传,在不考虑精度误差的影响下,打法应该是这样的. #in ...

  3. Clevo P950系列拆机

    Clevo P950系列(包括神舟精盾T96/T97/T96C/T96E/T97E,炫龙耀9000,铁头人T800同模具机型)拆机 拆机恢复时间:20181203 12:28-14:58   一.普通 ...

  4. HDU4185:Oil Skimming(二分图最大匹配)

    Oil Skimming Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  5. oracle的rownum使用

    对于rownum来说它是Oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀. ...

  6. TCP ------ keep-alive - 判断TCP链路的连接情况

    TCP 是面向连接的 , 在实际应用中通常都需要检测对端是否还处于连接中.如果已断开连接,主要分为以下几种情况: 1.           连接的对端正常关闭,即使用 closesocket 关闭连接 ...

  7. 桥接物理网卡,pipwork指定ip,外网连接,研究salt+docker

    1.桥接物理网卡: 首先下载工具: yum -y install --enablerepo=epel bridge-utils 停止服务: 983 systemctl stop docker 删除do ...

  8. struts2学习问题(一)

    一.struts2 Unknown tag (s:property). 解释:不识别标签 解决:这是sturts2的标签,导入相应的包<%@taglib prefix="s" ...

  9. jquery with ajax

    with session storage: 1.ajax请求可以放在 $(document).ready(function (){...}); 里. 2. $.ajax({ url: "/a ...

  10. wget.vbs & wget.ps1

    Wget-like tool for file transfer when do post exploitation. CODE echo strUrl = WScript.Arguments.Ite ...