语法
box-shadow:offset-x offset-y blur-radius spread-radius color inset;只有offset-x和offset-y是必填的,其余参数可选,且顺序不能乱。
参数说明
| 参数 | 是否必填 | 说明 |
|---|---|---|
offset-x | 必填 | 水平偏移量,正值向右,负值向左 |
offset-y | 必填 | 垂直偏移量,正值向下,负值向上 |
blur-radius | 可选 | 模糊半径,值越大边缘越模糊,不能为负 |
spread-radius | 可选 | 扩展半径,正值扩大阴影,负值缩小 |
color | 可选 | 阴影颜色,默认跟随浏览器 |
inset | 可选 | 设为inset时阴影在元素内部 |
常见写法
/* 最简:只写偏移和颜色 */box-shadow:2px 2px #333;/* 标准:偏移 + 模糊 + 颜色 */box-shadow:0 2px 8pxrgba(0,0,0,0.15);/* 完整:偏移 + 模糊 + 扩展 + 颜色 */box-shadow:0 2px 8px 2pxrgba(0,0,0,0.15);/* 内阴影 */box-shadow:inset 0 2px 4pxrgba(0,0,0,0.1);/* 多重阴影:逗号分隔 */box-shadow:0 1px 2pxrgba(0,0,0,0.1),0 4px 8pxrgba(0,0,0,0.08);常见场景
/* 卡片轻微浮起 */box-shadow:0 2px 8pxrgba(0,0,0,0.1);/* 按钮点击态 */box-shadow:inset 0 2px 4pxrgba(0,0,0,0.2);/* 顶部导航栏底部阴影 */box-shadow:0 1px 0rgba(0,0,0,0.05);/* 弹窗 */box-shadow:0 8px 24pxrgba(0,0,0,0.12);注意事项
blur-radius不能为负值。- 颜色建议用
rgba(),方便控制透明度,比纯黑更自然。 - 多重阴影按从前往后的顺序渲染,前面的阴影在上层。
spread-radius为正时阴影整体扩大,为负时整体收缩。inset写在颜色前面或后面都可以,但位置不能影响其他参数的解析。