当前位置:首页 > CSS

css怎么制作阴影

2026-04-02 03:04:48CSS

使用 box-shadow 属性

CSS 中的 box-shadow 属性是制作阴影最常用的方法。该属性可以为一个元素添加一个或多个阴影效果。基本语法如下:

box-shadow: h-offset v-offset blur spread color inset;
  • h-offset: 水平阴影的位置,正值向右,负值向左。
  • v-offset: 垂直阴影的位置,正值向下,负值向上。
  • blur: 模糊距离,值越大阴影越模糊。
  • spread: 阴影的扩展半径,正值扩大阴影,负值缩小阴影。
  • color: 阴影的颜色,可以使用任何有效的颜色值。
  • inset: 可选参数,将阴影改为内部阴影。

示例代码:

div {
  box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
}

多重阴影效果

box-shadow 支持添加多个阴影,通过逗号分隔不同的阴影参数。这种方式可以创建更复杂的阴影效果。

示例代码:

div {
  box-shadow: 
    5px 5px 10px rgba(0,0,0,0.3),
    -5px -5px 10px rgba(255,255,255,0.3);
}

内部阴影

通过添加 inset 关键字,可以将阴影效果应用于元素的内部,而不是外部。这种效果常用于按钮或卡片的内凹设计。

示例代码:

css怎么制作阴影

div {
  box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
}

使用 text-shadow 制作文字阴影

text-shadow 属性专门用于为文本添加阴影效果。语法与 box-shadow 类似,但不支持 spreadinset 参数。

示例代码:

h1 {
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

使用 filter: drop-shadow()

filter: drop-shadow() 是另一种添加阴影的方法,特别适合对非矩形元素(如 SVG 或带有透明度的图像)添加阴影。它的语法与 box-shadow 类似,但不支持 spreadinset

示例代码:

css怎么制作阴影

img {
  filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.5));
}

阴影动画效果

通过结合 CSS 动画或过渡效果,可以为阴影添加动态变化。例如,悬停时改变阴影的大小或颜色。

示例代码:

button {
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
  transition: box-shadow 0.3s ease;
}

button:hover {
  box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

阴影性能优化

过多的阴影效果可能会影响页面性能,尤其是在移动设备上。建议避免过度使用高模糊值的阴影,或对需要高性能的元素(如滚动列表中的项目)减少阴影复杂度。

示例优化代码:

.card {
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 低模糊值优化性能 */
}

标签: 阴影css
分享给朋友:

相关文章

css网页制作教程下载

css网页制作教程下载

CSS网页制作教程下载资源推荐 免费在线教程平台 W3Schools(www.w3schools.com/css/)提供交互式CSS教程,涵盖基础到高级内容,支持在线练习。 MDN Web Docs(…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…

css如何制作圆

css如何制作圆

使用 border-radius 属性 通过设置 border-radius 属性可以轻松创建圆角或圆形元素。值为 50% 时,元素会呈现为圆形。 .circle { width: 100p…

css制作标尺

css制作标尺

使用 CSS 制作标尺的方法 方法一:使用线性渐变和伪元素 通过 linear-gradient 和伪元素实现刻度线,适合简单的水平或垂直标尺。 .ruler { position: rela…