CSS--box-shadow

  • box-shadow: 2px 3px 4px rgba(0,0,0,0.5);
  • 上述代码的意义是:X坐标正向偏移2px,Y坐标正向偏移3px,模糊半径4px。
  • 阴影生成的步骤:
    1. 以该元素border-box相同的大小和位置,画一个rgba(0,0,0,0.5)的矩形。
    2. 把它向右移2px,向左移3px。
    3. 按照模糊值进行模糊处理,具体的计算是:顶部具有 4px - 3px = 1px 的投影,底部具有:4px + 3px = 7px 的投影,左侧具有 4px - 2px = 2px 的投影,右侧具有 4px + 2px = 6px 的投影。
  • 所以最终,上下左右都会有阴影出现,只是大小不同而已。

第4个参数:扩大(正值)或缩小(负值)投影的尺寸

  • 例如:
  • box-shadow: 2px 3px 4px rgba(0,0,0,0.5);
normal.png
  • 解析:见上。
  • box-shadow: 0 5px 4px -4px black;
single_edge.png

解析:左:4-0-4=0;右:4+0-4=0;上:4-5-4=-5;下:4+5-4=5。只有下面的阴影值为正,所以只有下方出现阴影。

  • box-shadow: 3px 3px 6px -3px black;
double_edge.png
  • 解析:左:6-3-3=0;右:6+3-3=6;上:6-3-3=0;下:6+3-3=6。只有右下的阴影值为正,所以显现出阴影。
  • 总结:为了能将左侧和上侧的阴影值一同抵消,两者的值必须一样,而且用第四个参数减去X,Y上的偏移值,必须是第三个参数的相反数,这样才能抵消为0。(也就是其实xy的偏移值并不一定像例子一样是第四个参数的相反数。)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,199评论 0 11
  • box-shadow语法如下: 阴影类型:此参数是一个可选值,如果不设值,其默认的投影方式是外阴影;如果取其唯一值...
    何幻阅读 463评论 0 1
  • text-shadow是给文本添加阴影效果,box-shadow是给元素块添加周边阴影效果。随着HTML5和CSS...
    arlene112阅读 2,290评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,333评论 0 11
  • 遇见“你”之前,月光与我两点一线 1 七月决定独自留校学车,看着日渐空荡的宿舍,心底莫名生出一股恐慌的情绪,就像溺...
    言蹊clj阅读 336评论 0 5