2023-12-14 02:09:40
通过CSS的box-shadow属性可为元素添加阴影效果,其核心是通过调整水平/垂直偏移、模糊半径、扩展半径、颜色及内外阴影类型实现多样化视觉层次,合理运用可显著提升界面立体感。
一、box-shadow语法结构box-shadow的基本语法如下:
box-shadow: h-offset v-offset blur spread color inset;通过调整参数可实现多种阴影效果,以下是典型示例:
1. 基础外阴影box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.3);h-offset=2px:向右偏移2px。
v-offset=4px:向下偏移4px。
blur=6px:模糊半径6px,边缘柔和。
color=rgba(0,0,0,0.3):30%透明度的黑色,避免生硬。
h-offset=0:无水平偏移。
v-offset=10px:向下偏移10px。
blur=20px:大模糊半径,阴影边缘过渡自然。
color=rgba(0,0,0,0.1):10%透明度的黑色,更柔和。
inset:关键参数,表示内阴影。
v-offset=2px:向下偏移2px(内阴影通常垂直方向更明显)。
blur=4px:适度模糊,避免过于锐利。
逗号分隔多组参数,每组独立定义一层阴影。
第一层:blur=8px,范围大但透明度高(0.1)。
第二层:blur=4px,范围小但透明度低(0.2),突出核心阴影。
颜色选择:
推荐使用rgba(),通过透明度(如0.2)让阴影更自然,避免纯黑色(#000)的生硬感。
深灰色(如rgba(0,0,0,0.3))比纯黑更柔和,适合大多数场景。
模糊与偏移的平衡:
大模糊+小偏移:适合模拟“浮起”效果(如卡片悬浮),例如0 10px 20px rgba(0,0,0,0.1)。
小模糊+大偏移:适合强调方向性阴影(如斜向光影),但需谨慎使用以避免不真实。
性能优化:
移动端避免过度复杂的阴影(如多层大模糊),可能影响渲染流畅度。
简单阴影(如单层小模糊)对性能影响较小,可优先使用。
布局影响:
box-shadow不会占用布局空间(类似outline),不影响元素尺寸计算,与margin不同。
扩展半径(spread)的谨慎使用:
正数扩展阴影范围,负数缩小范围,但过度使用可能导致阴影失真(如边缘锯齿)。
box-shadow是提升界面质感的高效工具,关键在于:
合理运用box-shadow,可轻松实现卡片悬浮、按钮按压、输入框聚焦等交互效果,增强用户视觉体验。