CSS 阴影生成器

双层 box-shadow 可视化调节,实时预览并一键复制 CSS

常用预设

点击即套用,之后仍可逐项微调,参数会保存在本机。

第一层阴影
类型
第二层阴影
类型
实时预览
CSS 代码

  

使用说明

  1. 先点一个接近目标的预设打底,再进入逐项微调。
  2. 调第一层的偏移、模糊、扩展、颜色与不透明度,预览卡片实时更新。
  3. 需要层次感时保持第二层启用,两层参数独立调节,勾掉即回到单层。
  4. 勾选内阴影 inset 可以做凹陷面板与按压效果。
  5. 点复制拿到标准 box-shadow 代码,粘到目标元素样式里即可。

用法与语法

生成的代码是标准 CSS 吗?
是。输出就是标准的 box-shadow 声明,可以直接写进任意元素的样式或类里,现代浏览器都支持,不需要前缀。
扩展半径是做什么的?
扩展在模糊之前把阴影整体放大或收缩,正值变大,负值收缩。配合大模糊可以做出光晕,负值则让阴影只贴在边缘。
内阴影什么时候用?
输入框、按压态与凹陷面板适合内阴影。inset 把阴影翻到元素内侧,顶部重底部轻会显得自然,外阴影则用来表达悬浮。
两层阴影按什么顺序叠加?
先声明的层画在最上面。第一层适合紧贴元素的细节阴影,第二层适合大而淡的环境投影,两层逗号分隔同时生效。

常见问题

预览有效果,放到页面上却看不见?
最常见的两个原因是父元素 overflow hidden 裁掉了阴影,以及元素周围没有留出空间。给父级留内边距或去掉裁剪即可显示。
阴影颜色一定要用黑色吗?
不是。带一点环境色或蓝调的深灰降透明度后更接近真实光影,纯黑大面积阴影容易显得脏,建议透明度控制在两成上下起步。
参数会保存吗?
会。每次调整自动写入本机浏览器,下次打开恢复上次状态。数据不上传,清除站点数据即可删除。
阴影会影响布局吗?
不会。box-shadow 画在元素之外,不占据布局空间,也不会触发周围元素重排,但大面积模糊在低端设备上有渲染开销。

界面截图

CSS 阴影生成器 · 界面预览
界面预览
CSS 阴影生成器 · 示例结果
示例结果

使用步骤

  1. 点预设打底

    六组预设覆盖卡片、浮层、光晕与内凹等常见效果,先选一个接近的,再逐项微调,能省下从零试错的时间。

  2. 调第一层阴影

    偏移决定方向,模糊决定柔硬,扩展控制外扩或内收,颜色配合不透明度决定阴影的浓淡与质感。

  3. 叠加第二层

    开启第二层可以模拟环境光加接触阴影的组合,两层参数完全独立,取消勾选即回到单层阴影。

  4. 复制 CSS 使用

    输出框实时生成标准 box-shadow 代码,双层用逗号分隔,点复制粘到目标元素样式里即可生效。

工具详细介绍

阴影是界面里表达层次的主要手段,浮层、卡片与按下态都靠它传达高度关系。box-shadow 由横向偏移、纵向偏移、模糊半径、扩展半径、颜色与 inset 关键字组成。前两项决定阴影的方向,模糊决定边缘虚实,扩展把阴影整体放大或收缩,inset 把外阴影翻到元素内侧。颜色支持任意值,配合透明度可以调出比纯黑更接近自然光影的灰调,这常被新手忽略。

工具把两层阴影拆成两组独立参数,滑动条与颜色选择器即改即见,预览卡片实时刷新。六组预设覆盖常见组合,点选后仍可继续微调,当前命中预设会保持高亮。输出框生成标准 box-shadow 声明,双层时用逗号分隔并分行排版,点复制即可粘贴使用。全部计算与渲染都在浏览器本地完成,参数自动保存在本机,下次打开接着上次的进度继续调。

原理与背景

box-shadow 的渲染规则值得了解。阴影不占据布局空间,画在边框框之外,inset 时画在内侧,并沿元素圆角变形。多层阴影先声明的画在最上层,从上往下叠加。模糊半径按两倍标准差的口径计算,扩展则在模糊之前先放大或收缩阴影,偏移为负时阴影朝反方向偏。理解声明顺序与裁剪规则,就能解释大多数阴影看不见的问题,多数时候不是属性写错,而是被父级裁剪。

从设计角度看,自然的光影通常由两层组成:一层紧贴边缘模拟环境光遮蔽,一层大而淡模拟投影。颜色上,带蓝调的深灰在浅色背景里比纯黑更接近真实观感。暗色界面的阴影作用有限,常用更亮的边框或更高的背景明度来区分层次。另外大面积低透明度模糊在低端设备上有渲染开销,动效里频繁改阴影参数会掉帧,需要动画时改用透明度过渡更稳。

典型使用场景

  1. 卡片与浮层

    列表卡片用小偏移低透明度保持轻盈,弹窗与下拉菜单用大偏移大模糊强化悬浮感。同一产品里按高度分两三档阴影,界面层次统一,用户也能从深浅判断哪一层更需要关注。

  2. 按钮按下态

    按下时把外阴影收小并把元素向下偏移一两像素,模拟被按进桌面的感觉,回弹时恢复原值。配合内阴影可以做出实体按键的凹陷效果,反馈清晰又不刺眼。

  3. 输入框凹陷

    表单输入框用 inset 内阴影加浅色描边,做出向内凹陷的容器感。顶部阴影重底部阴影轻,更接近光照的物理直觉,聚焦时再换描边颜色,状态变化一目了然。

使用技巧

  • 阴影别用纯黑,选带一点环境色或蓝调的深灰再降透明度,观感更自然。
  • 卡片建议两层组合:一层小模糊贴边,一层大模糊低透明度,层次立刻出来。
  • 给阴影留出空间,父元素 overflow hidden 会把阴影裁掉,看起来像没生效。

注意事项

  • 阴影被父级裁剪

    父元素设置 overflow hidden 时,子元素的阴影会直接被裁掉,看起来像属性没生效。这类问题在列表容器里最常见。给父级留出内边距,或把元素换到没有裁剪的容器里,阴影就有地方显示了。

  • 阴影颜色过重

    黑色不透明的大阴影会让页面显得脏而沉重,压住内容层次,用户也会觉得界面笨重。把透明度降到两成以下再观察效果,多数卡片场景根本不需要超过四成的浓阴影,宁可淡一点。

  • 模糊半径滥用

    上百像素的大模糊用在小组件上显得脏,渲染开销也大,低端设备滚动时容易掉帧。阴影尺度应该匹配元素大小,小元件用小半径,大面积面板才配得上大半径,按钮一档单独定。

相关工具