2026-03-13 02:33:20
box-shadow 是 CSS 中用于为元素添加阴影效果的重要属性,通过调整其参数,可以创建立体悬浮、内凹按下等视觉效果,显著提升网页的视觉层次感。以下是其参数详解及使用技巧:
一、基本语法与参数说明box-shadow 的基本语法如下:
box-shadow: h-offset v-offset blur spread color inset;参数按顺序书写,用空格分隔,其中 inset 为可选关键字。具体含义如下:
h-offset(水平偏移)
阴影在水平方向的偏移量,正值向右,负值向左。
例如:2px 表示阴影向右偏移 2 像素。
v-offset(垂直偏移)
阴影在垂直方向的偏移量,正值向下,负值向上。
例如:4px 表示阴影向下偏移 4 像素。
blur(模糊半径)
控制阴影的模糊程度,值越大越模糊,0 表示无模糊(边缘清晰)。
例如:8px 会使阴影边缘柔和扩散。
spread(扩展半径)
调整阴影的尺寸:正值扩大阴影,负值收缩阴影。
例如:1px 会使阴影比元素尺寸略大。
color(颜色)
支持所有 CSS 颜色格式(如 #000、rgba(0,0,0,0.2))。
推荐使用低透明度黑色(如 rgba(0,0,0,0.1))避免生硬感。
inset(可选)
默认阴影为外阴影,添加 inset 后阴影变为内阴影(显示在元素内部)。
常用于模拟按钮按下或输入框凹陷效果。
示例:
box-shadow: 2px 4px 8px 1px rgba(0,0,0,0.2);表示向右偏移 2px、向下偏移 4px、模糊 8px、扩展 1px 的黑色半透明外阴影。
二、进阶技巧与视觉层次构建1. 创建自然投影效果卡片悬浮效果
.card { box-shadow: 0 4px 12px rgba(0,0,0,0.15); transition: box-shadow 0.3s ease;}.card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.2);}内阴影模拟凹陷按钮
.button:active { box-shadow: inset 0 3px 5px rgba(0,0,0,0.2);}多层阴影构建深度
.modal { box-shadow: 0 10px 30px rgba(0,0,0,0.2), 0 6px 12px rgba(0,0,0,0.1);}通过灵活组合参数(如偏移、模糊、多层叠加)和 inset 关键字,可以创造出丰富的视觉效果,显著提升界面的立体感和交互引导性。