关于CSS 的 box-shadow 的个人理解,及如何实现给盒子四周添加上阴影即环形圆形阴影,以及只给盒子一边添加阴影即单边阴影

10 篇文章 0 订阅

看一下官方文档的描述:
语法:box-shadow: h-shadow v-shadow blur spread color inset;
注释:box-shadow 向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由 2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定。省略长度的值是 0。

描述
h-shadow必需。水平阴影的位置。允许负值。
v-shadow必需。垂直阴影的位置。允许负值。
blur可选。模糊距离。
spread可选。阴影的尺寸。
color可选。阴影的颜色。请参阅 CSS 颜色值。
inset可选。将外部阴影 (outset) 改为内部阴影。

个人理解的总结:

  1. 盒子阴影可以理解为将盒子复制一个在下方(盒子带有透明度,阴影的颜色也不会透过盒子)。进行平移,模糊等变化,阴影是不占用空间的。

  2. 盒子阴影h-shadow v-shadow默认方向分别为水平向右和垂直向下,水平、垂直的位置为负数时,则为反方向,且这两个参数是必须的

  3. 当只有水平、垂直方向时,可以理解为将盒子复制一个,并进行平移。
    在这里插入图片描述

  4. inset内部阴影时,水平、垂直方向没改变但是出现的位置相反; 在这里插入图片描述

  5. blur为模糊程度,当模糊程度较大时,是会影响其他边的效果。右边的图,只给了水平向右的阴影,但是因为模糊程度的影响,导致上下都被影响到了。在这里插入图片描述

  6. spread为阴影的尺寸,就是在阴影进行平移之后,四周增加阴影的宽度。当只有spread,没有blur时,则实际效果和边框效果类似。下面的右图,虽然只给水平向右的方向添加了阴影,但是因为阴影尺寸大于偏移方向,则能在四周都有阴影效果。
    在这里插入图片描述

  7. 一个盒子由内而外分别是 contentpaddingbordermargin,外侧阴影占用的是margin及以外区域,内测阴影占用的是padding及以内区域。
    在这里插入图片描述

width: 100px;
height: 100px;
margin: auto;
padding: 20px;
background: #fff;
border: 10px solid #f00;
border-bottom-color: transparent;
background-clip: padding-box;
box-shadow: 0 -10px 3px 0 #444 inset, 0 10px 3px 0 #444;
  1. 圆形阴影:需要实现环形阴影时,只需要将水平和垂直尺寸变为零,给上模糊程度和阴影尺寸就可以。
    在这里插入图片描述

  2. 单边阴影:通过添加某一边的阴影,加上模糊程度,这样会对其他边有影响,通过阴影尺寸给一个负值进行修正
    在这里插入图片描述

  3. 多个阴影:盒子阴影可以添加多个,用,号隔开。中间的为盒子,四周一个八个都是用box-shadow做出来的。
    贴上代码

	width: 100px;
			height: 100px;
			margin: 400px auto;
			box-shadow: -100px -100px 0 0 #0ff, 0 -100px 0 0 #f0f, 100px -100px 0 0 #ff0,
				-100px 0 0 0 #000, 100px 0 0 0 #fff,
				-100px 100px 0 0 #0f0, 0 100px 0 0 #00f, 100px 100px 0 0 #f00;

在这里插入图片描述

总结:盒子阴影,先将盒子复制一个放在该盒子下方,按照阴影尺寸spread增大或减小阴影尺寸,再按照水平竖直方向的偏移量进行移动,最后按照模糊程度进行模糊,即完成。

如有错误,欢迎指正,谢谢!
以上内容仅供参考,欢迎大家讨论。

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值