box-shadow
小技巧
box-shadow: 0 12px 8px -9px #1ba95e;
偏移量:投影的偏移
模糊半径:控制模糊距离,越大产生的模糊层次越多
扩展半径:控制模糊效果的起始位置
视觉上:-100px的扩展边距 正好平衡 200px的模糊半径
(阴影的index-z的大于元素)
有margin的外边距叠加效果
*****************************************************************************************************
参数的解析:
box-shadow: x-offset y-offset blur spread color inset;
上述六个参数含义依次是
水平方向的偏移(正值向右偏移,负值向左偏移)、
垂直方向的偏移(正值向下偏移,负值向上偏移)、
模糊距离(模糊量)、
阴影的尺寸(扩展尺寸,扩张量)、
阴影的颜色
及阴影类型(默认是外阴影,使用inset表示为内阴影,内外阴影是以边界为界限)。
除了第一和第二个参数是必须的,其他的都是可选参数。当使用参数“0 0px 10px #333”时,注意第三个参数为阴影的模糊距离。
由于参数本身就多,而且还可以变,下面通过一些例子来加深一下理解。
先来看看什么是阴影,下面通过四个宽和高都为70px的div,使用如下box-shadow来看看显示效果:
#d1 { box-shadow:0 0 0px #333;} (大小就是快元素本身的大小)
#d2 { box-shadow:70px 0 0px #333;}
#d3 { box-shadow:0 70px 0px #333;}
#d4 { box-shadow:70px 0px 0px #333;}
观察上述图,可以理解阴影其实是被原始块对象遮盖,但是可以通过x-offset和y-offset来移动阴影(相对于原始快对象)。
现在通过3个70x70px的div来看看模糊的效果,box-shadow设置如下:
#d5 { box-shadow:0 0 10px 0px #333;}
#d6 { box-shadow:70px 70px 20px 0px #333;} (模糊量,数值上其实没法测量,代表一种模糊程度)
#d7 { box-shadow:70px 70px 40px 0px #333;}

模糊就是对阴影由内到进行模糊处理,对比d6和d7,可以看到模糊参数值越大,模糊的面积也越大。
最后来看看看扩展距离(扩展量),box-shadow设置如下:
#d8 { box-shadow:0px 0px 0px 10px #333;}
#d9 { box-shadow:80px 80px 0px 10px #333;}
#d10 { box-shadow:80px 80px 10px 10px #333;}

可以看到阴影距离其实就增大阴影的面积,如果同时使用模糊和阴影距离,模糊处理是在阴影面积增大的基础上再进行模糊处理。
根据上面的现像,我们来看一个box-shadow有关阴影是否会被计算为内容的实例。
我们把外面div设置为100px*100px,里面div设置为60px*60px,并在里面的div上加上一个向下向右偏移50px的绿色阴影,我们看看多出来的阴影会怎么样?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
.outer {width: 100px;height: 100px;border: 1px solid #ccc;}.inter {width: 60px;height: 60px;margin: 10px auto;background: #f69;-webkit-box-shadow: 50px 50px green;-moz-box-shadow: 50px 50px green;box-shadow: 50px 50px green;} |

从各大浏览中的效果我们可以看出,阴影多出来的阴影会撑破容器跑出来。标准里有一张图,描述了box-shadow的工作方式,这张图直观告诉我们如何使用box-shadow

这张图可以告诉我们很多信息,比如说borer-radius圆角,阴影扩展、阴影模糊以及padding是如何影响对象阴影的:非零值的border-radius将会以相同的作用影响阴影的外形,但border-image不会影响对象阴影的任何外形;对象阴影同box模型的层次一样,外阴影会在对象背景之下,内阴影会在边框之下背景之上。所以整个层级就是:边框>内阴影>背景图片>背景颜色>外阴影。因为大家都知道,我们的背景图片是在背景颜色之上的。padding的颜色会被background的颜色覆盖,然而内阴影在背景颜色之上,所以为内阴影的影响
文章内容有转载部分

浙公网安备 33010602011771号