【css】box-shadow 阴影
用于在元素的框架上添加阴影效果。
你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。
该属性可设置的值包括阴影的X轴偏移量、Y轴偏移量、模糊半径、扩散半径和颜色。
一、属性值规则
- 当给出两个、三个或四个
<length>
值时。- 如果只给出两个值, 那么这两个值将会被当作
水平阴影、垂直阴影
来解释。 - 如果给出了第三个值,那么第三个值将会被当作
模糊距离
解释。 - 如果给出了第四个值, 那么第四个值将会被当作
阴影尺寸
来解释。
- 如果只给出两个值, 那么这两个值将会被当作
- 可选,inset关键字。
- 可选,颜色值。
二、取值
1、inset 内/外阴影
如果没有指定 inset
,默认阴影在边框外,即阴影向外扩散。
使用 inset 关键字会使得阴影落在盒子内部,这样看起来就像是内容被压低了。此时阴影会在边框之内 (即使是透明边框)、背景之上、内容之下。
2、<offset-x> <offset-y>
水平阴影/垂直阴影
这是头两个 <length> 值,用来设置阴影偏移量。
x,y 是按照数学二维坐标系来计算的,只不过y垂直方向向下。
<offset-x> 设置水平偏移量,正值阴影则位于元素右边,负值阴影则位于元素左边。
<offset-y> 设置垂直偏移量,正值阴影则位于元素下方,负值阴影则位于元素上方。
如果两者都是0,那么阴影位于元素四周。这时如果设置了 <blur-radius> 或 <spread-radius> 则有模糊效果。需要考虑 inset。box-shadow: 0 0 10px red;
3、<blur-radius>模糊距离
这是第三个 <length> 值。
值越大,模糊面积越大,阴影就越大越淡。
不能为负值。默认为0,此时阴影边缘锐利。
本规范不包括如何计算模糊半径的精确算法,但是,它详细说明如下:
对于长而直的阴影边缘,它会创建一个过渡颜色用于模糊 以阴影边缘为中心、模糊半径为半径的局域,过渡颜色的范围在完整的阴影颜色到它最外面的终点的透明之间。
4、<spread-radius>
阴影的尺寸
这是第四个 <length>
值。
取正值时,阴影扩大;
取负值时,阴影收缩。
默认为0,此时阴影与元素同样大。需要考虑 inset
5、<color>
阴影的颜色
通常是color的值
demo:
/* 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;
div {
width: 100px;
height: 100px;
background-color: #ccc;
box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .5);
}
相关资料
欢迎关注我,一起进步!扫描下方二维码即可加我QQ

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通