box-shadow 模糊半径、扩散半径

2,039 阅读1分钟

本文示例:www.risu-p.com/planet/#/sh…

box-shadow 用于给元素添加阴影效果

语法

/* x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: 60px -16px teal;


/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影颜色 */
box-shadow: 10px 5px 5px black;


/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);


/* 插页(阴影向内) | x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: inset 5em 1em gold;


/* 任意数量的阴影,以逗号分隔 */
box-shadow: 3px 3px red, -1em 0 0.4em olive;


/* 全局关键字 */
box-shadow: inherit;
box-shadow: initial;
box-shadow: unset;

什么是模糊半径、扩散半径?

取值

模糊半径

值越大,模糊面积越大,阴影就越大越淡。 不能为负值。默认为0,此时阴影边缘锐利。本规范不包括如何计算模糊半径的精确算法,但是,它详细说明如下:  

对于长而直的阴影边缘,它会创建一个过渡颜色用于模糊 以阴影边缘为中心、模糊半径为半径的局域,过渡颜色的范围在完整的阴影颜色到它最外面的终点的透明之间。 (译者注:对此有兴趣的可以了解下数字图像处理的模糊算法。)

image.png  

扩散半径

取正值时,阴影扩大;取负值时,阴影收缩。默认为0,此时阴影与元素同样大

例如:有一圆形元素,半径为100px(即宽高200px);默认情况,阴影形状大小与元素一样,半径也是100px

spread-radius 设为20px,则阴影半径扩大为120px