box-shadow属性通过设置水平偏移、垂直偏移、模糊半径、扩散半径、颜色和inset实现元素阴影效果,常用于按钮悬浮、卡片立体化和内凹设计,合理调整参数可提升界面层次感与交互真实感。

在CSS中,box-shadow 属性是美化按钮、卡片等元素非常实用的工具。它能为元素添加阴影效果,增强立体感和视觉层次,让界面看起来更生动、专业。
box-shadow 语法详解
box-shadow 的基本语法如下:
box-shadow: 水平偏移 垂直偏移 模糊半径 扩散半径 颜色 inset(可选);每一项含义如下:
- 水平偏移(x-offset):正值向右,负值向左
- 垂直偏移(y-offset):正值向下,负值向上
- 模糊半径(blur-radius):值越大越模糊,不能为负
- 扩散半径(spread-radius):正值扩大阴影,负值缩小
- 颜色:支持 rgba、十六进制等格式,推荐使用透明色提升质感
- inset:可选,加上后阴影变为内阴影
美化按钮的常见用法
给按钮添加轻微阴影,可以让其看起来“浮起”,提升点击欲望。
立即学习“前端免费学习笔记(深入)”;
button {
background-color: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 6px;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
transition: box-shadow 0.3s ease;
}
button:hover {
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
说明:默认阴影较轻,悬停时加深,模拟“按下”或“浮起”效果,搭配 transition 更自然。
为卡片添加立体感
卡片常用于展示内容模块,合适的阴影能让其从背景中“跳出来”。
.card {
background: white;
border-radius: 12px;
padding: 20px;
margin: 20px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
这种设置适合信息类卡片,阴影柔和不抢眼。若想强调层级,可叠加多个阴影:
box-shadow: 0 2px 4px rgba(0,0,0,0.1), 0 8px 16px rgba(0,0,0,0.1);
多层阴影模仿真实光照,视觉效果更丰富。
内阴影实现凹陷效果
使用 inset 可创建内阴影,适合设计“按入”式按钮或装饰性边框。
.input-box {
border: none;
padding: 12px;
border-radius: 8px;
box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}
内阴影让输入框看起来略有凹陷,提升交互真实感。
基本上就这些。合理使用 box-shadow 能显著提升UI质感,关键是控制透明度和模糊度,避免过度夸张。试试从 0 2px 5px rgba(0,0,0,0.1) 开始,逐步调整到满意效果。










