box-shadow:h-shadow v-shadow blur spread color inset(outset);
其中对于blur的W3C解释为模糊距离,一直不明白为什么叫模糊距离,虽然知道这个属性控制的效果,但对这个属性的汉语解释还是不理解。
box-shadow:h-shadow v-shadow blur spread color inset(outset);
其中对于blur的W3C解释为模糊距离,一直不明白为什么叫模糊距离,虽然知道这个属性控制的效果,但对这个属性的汉语解释还是不理解。
我是这么理解的,可以把blur看作是个半径值,以box-shadow所在容器边框的每个像素作为圆心来画圆,再由圆心向外做径向渐变,那么这些径向渐变连在一起,再擦掉容器以内的部分,就是box-shadow的基础样式了。另外前边两个值,可以看作是基于每个像素的坐标偏移;spread呢,我觉得像是blur的“margin”,为正的时候渐变向外扩张、为负的时候渐变向内收缩;而inset就是擦掉容器以外部分的样子……这样是不是更好懂?
3 回答5.2k 阅读✓ 已解决
5 回答2.1k 阅读
2 回答2k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
3 回答2.5k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.2k 阅读
尚且不称作blur为模糊距离,称之为模糊半径更加合适,一些解释楼上已经说的比较详细清晰了,我只做一点简单的补充。
当我们使用blur时,将会对该元素的阴影使用高斯模糊算法(或类似算法)将他进行一定长度的处理,假定blur设置为4px,这在本质上表示在阴影边缘(未模糊时)发生阴影色和纯透明色(即从元素向外延伸)的颜色的过渡长度近似于模糊半径的两倍,在这里也就是8px,这对我们实现阴影效果时的计算比较有帮助。