123问免费工具与知识服务
123问工具大全› 工具大全› 设计工具› Box-Shadow生成器

⬛ Box-Shadow生成器

多层阴影 · 内阴影 · 实时预览

预览区
200×200

Box-Shadow生成器常见问题

box-shadow的参数有哪些?

完整格式:box-shadow: [inset] X偏移 Y偏移 模糊 扩散 颜色。X/Y定义阴影位置,模糊控制边缘柔和度,扩散控制阴影大小,inset使阴影内显。

阴影会影响元素占位和布局吗?

不会。box-shadow只是视觉绘制,不参与盒模型的尺寸计算,不会挤压或撑开其他元素。阴影稍微超出元素边界也不会触发滚动条或重叠问题。

如何做好看的卡片阴影?

多层阴影叠加效果更自然。例如:box-shadow: 0 2px 4px rgba(0,0,0,0.1), 0 8px 16px rgba(0,0,0,0.1); 第一层近处浅影、第二层远处深影,模拟真实材质中的柔和阴影。

inset内阴影有什么用途?

inset阴影用于制作凹陷效果:按钮按下状态、输入框内凹、卡片内描边、图片暗角等。配合正负X/Y偏移,还能做出单方向的内衬光影。

box-shadow和filter: drop-shadow有什么区别?

box-shadow跟随元素盒子边界,不跟随内容形状;drop-shadow会沿着元素实际的不透明像素(比如PNG透明图)生成阴影。做文字或抠图阴影时用drop-shadow更合适。

怎么做出霓虹发光效果?

用多层扩散为0的同等颜色阴影叠加,例如:box-shadow: 0 0 10px #0ff, 0 0 20px #0ff, 0 0 40px #0ff; 层数越多、光晕越饱满。

阴影写太多会不会影响性能?

会。阴影的绘制成本与被模糊的像素量成正比,过多的阴影层或超大模糊半径在移动端滚动时可能造成卡顿。建议每元素不超过3-4层,动画时用transform而不是频繁改阴影。

浏览器兼容性怎么样?

box-shadow是CSS3属性,所有现代浏览器(Chrome、Firefox、Safari、Edge)全部支持,无需前缀。老代码里的-webkit-box-shadow已经不需要写了。

Box-Shadow生成器 - 示例演示

示例一:卡片悬浮阴影

输入:X:0 Y:2 模糊:4 + X:0 Y:8 模糊:16,双层,颜色rgba(0,0,0,0.1)
结果:box-shadow: 0 2px 4px rgba(0,0,0,0.1), 0 8px 16px rgba(0,0,0,0.1);
这是最常用的卡片投影,近处浅影刻画边缘、远处深影制造浮起感,比单层阴影精致很多。

示例二:按钮按下凹陷效果

输入:inset,X:0 Y:3 模糊:6,颜色rgba(0,0,0,0.3)
结果:box-shadow: inset 0 3px 6px rgba(0,0,0,0.3);
按钮按下时切换成内阴影,会有被按下去的物理感,配合transition:box-shadow 0.2s过渡更顺滑。

示例三:霓虹发光效果

输入:X:0 Y:0 模糊:10/20/40,三层同色 #00e5ff
结果:box-shadow: 0 0 10px #00e5ff, 0 0 20px #00e5ff, 0 0 40px #00e5ff;
三层同色阴影逐层叠加,光晕从核心向外扩散,适合科技感按钮、状态指示灯的强调效果。

Box-Shadow生成器深度解读

box-shadow 完整语法逐参数拆解

一条完整的 box-shadow 声明可以拆成 6 个部分:inset、X偏距、Y偏距、模糊半径、扩散半径、颜色。其中只有 X、Y 是必须的,其余都有默认值。

box-shadow 参数速查表
参数取值作用默认值
inset关键字把阴影改为向内显示无(外阴影)
X偏移长度(px)阴影水平位置,正数向右0
Y偏移长度(px)阴影垂直位置,正数向下0
模糊半径长度(px)模糊程度,越大边缘越柔和0
扩散半径长度(px)阴影大小,正数放大、负数缩小0
颜色颜色值阴影颜色,可用rgba带透明度currentColor

扩散半径常在"描边"场景用:当扩散为正值、模糊为0时,阴影就变成一条清晰的同色描边。

阴影设计的三条实用原则

  • 阴影要"软":真实光影边缘是渐变的,模糊半径尽量设大一点,避免生硬的实边阴影。
  • 阴影要有"高度感":Y偏移和模糊越大,元素看起来离背景越远,层级越高。
  • 颜色用深色加透明度:纯黑阴影会发灰发闷,用rgba(0,0,0,0.1~0.3)更通透。
Material Design 阴影层级速查
Elevation典型用途推荐写法
1静止卡片、列表项0 1px 3px rgba(0,0,0,0.12)
6悬浮菜单、下拉面板0 6px 20px rgba(0,0,0,0.15)
12抽屉、浮出层0 12px 30px rgba(0,0,0,0.2)
24模态弹窗、全屏浮层0 24px 60px rgba(0,0,0,0.25)

Material Design 的阴影规范就是典型:根据元素垂直高度分 1~24 层,每层一组精确阴影参数,层级越高代表元素离背景越远。

外阴影与内阴影的配合使用

外阴影管"浮起",内阴影管"凹陷",两者可同时出现。一段声明里既能写外阴影也能写内阴影,用逗号分隔即可。

外阴影 vs 内阴影
类型视觉语言典型场景
外阴影(outset)元素浮起、投影落在下方卡片、按钮默认态、弹窗
内阴影(inset)元素凹陷、光影在内侧按钮按下态、输入框、内描边

经典的"胶囊按钮"就是外阴影+内阴影组合:外层投影增加立体感,内层高光让按钮显得饱满。

移动端性能优化建议

阴影的绘制成本与被模糊的像素量成正比,超大模糊半径在低端安卓机上容易掉帧。

  • hover 动画优先用 transform: translateY 配合静态阴影,不要在 :hover 里动态重算阴影。
  • 滚动容器内的元素尽量少用多层阴影,必要时加 will-change: transform。
  • 抠图、真实物影等复杂效果用 filter: drop-shadow 更省。
阴影写法性能对比
写法开销说明
静态 box-shadow低只绘制一次,不产生重绘
hover 动态改阴影中每次进入 hover 触发一次重绘
动画逐帧改阴影高每帧重绘,低端机易卡顿
filter: drop-shadow中按像素轮廓计算,适合抠图/文字

Box-Shadow生成器参考数据

常用阴影效果参考值

场景推荐写法
扁平卡片0 1px 3px rgba(0,0,0,0.08)
悬浮卡片0 4px 6px rgba(0,0,0,0.06), 0 12px 20px rgba(0,0,0,0.1)
弹窗/浮层0 10px 30px rgba(0,0,0,0.2)
按钮按下inset 0 2px 4px rgba(0,0,0,0.2)
发光按钮0 0 8px #var, 0 0 16px #var
头像白描边0 0 0 3px #fff

浏览器支持情况

浏览器版本支持
Chrome10+完整支持
Firefox4+完整支持
Safari5.1+完整支持
Edge12+完整支持
IE9+需前缀,现代已忽略

使用说明

使用方法

1. 拖动滑块调整阴影参数。

2. 选择颜色并勾选内阴影。

3. 查看实时预览效果。

4. 复制生成的CSS代码。

分享工具: Facebook Twitter 微博 复制链接