box-shadow 是 CSS 中用于给元素添加阴影效果的属性。它可以为元素的框架、边界或背景添加一个或多个阴影,从而使元素在视觉上更具层次感。box-shadow 的基本语法如下:
<style>
box-shadow: h-offset v-offset blur-radius spread-radius color inset;
</style>
属性值的详细解释:
1.h-offset(水平偏移):
必须指定的值,定义阴影相对于元素水平方向的偏移量。值可以是正值或负值。
正值表示阴影向右偏移,负值表示向左偏移。
2.v-offset(垂直偏移):
必须指定的值,定义阴影相对于元素垂直方向的偏移量。值可以是正值或负值。
正值表示阴影向下偏移,负值表示向上偏移。
3.blur-radius(模糊半径):
可选的值,定义阴影的模糊程度。值越大,阴影的模糊程度越强,阴影边缘越柔和。
默认为 0(即阴影没有模糊效果,边缘清晰)。
4.spread-radius(扩展半径):
可选的值,定义阴影的扩展半径。正值使阴影扩展,负值使阴影收缩。
默认为 0(没有扩展或收缩效果)。
5.color(阴影颜色):
可选的值,定义阴影的颜色。可以使用颜色名称、RGB、RGBA、HSL 或 HSLA 等色彩值。
默认为 transparent(透明),即不显示阴影。
6.inset:
可选的关键字,表示阴影是向内的,而不是向外的。如果没有指定 inset,阴影将是外阴影,向外扩展。
示例:
7.简单阴影:
div{ box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3); }
这个样式为 div 元素添加了一个水平方向偏移 10px,垂直方向偏移 10px,模糊半径 15px,颜色为半透明的黑色阴影。
8.多个阴影:
div { box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2), -3px -3px 5px rgba(0, 0, 0, 0.2); }
这个样式为 div 元素添加了两个阴影,一个向右下角偏移,另一个向左上角偏移。
9.内阴影:
div { box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.5); }
使用 inset 关键字,创建了一个内阴影,阴影朝向元素的内部。
10.带扩展的阴影:
div { box-shadow: 10px 10px 20px 5px rgba(0, 0, 0, 0.4); }
这个样式为 div 元素添加了一个水平方向偏移 10px,垂直方向偏移 10px,模糊半径 20px,扩展半径 5px,颜色为半透明的黑色阴影。
小提示:
性能考虑:阴影效果可能会影响性能,尤其是在动画或大规模元素上使用时,要小心过度使用 box-shadow。
兼容性:box-shadow 被广泛支持,几乎所有现代浏览器都可以正确渲染此属性。
通过合理使用 box-shadow,可以为页面元素添加丰富的视觉效果,使设计更加生动有趣。