如何用CSS3边框阴影实现2种图片列表展示效果

来源:中国站长站作者:缅甸程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《如何用CSS3边框阴影实现2种图片列表展示效果》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何用CSS3边框阴影实现2种图片列表展示效果》有用,将其分享出去将是对创作者最好的鼓励。

CSS3的box-shadow属性可以为元素添加阴影效果,不需要额外引入图片或者复杂的样式,就能让图片列表产生立体的层次感。我们可以通过调整阴影的偏移、模糊半径、扩散半径和颜色,实现不同的展示风格。

如何用CSS3边框阴影实现2种图片列表展示效果

box-shadow属性基础说明

box-shadow的语法格式为:box-shadow: h-shadow v-shadow blur spread color inset;,各个参数含义如下:

  • h-shadow:水平阴影的位置,允许负值,正值向右偏移,负值向左偏移
  • v-shadow:垂直阴影的位置,允许负值,正值向下偏移,负值向上偏移
  • blur:可选,模糊半径,值越大阴影越模糊,默认是0
  • spread:可选,阴影的扩散半径,正值阴影扩大,负值阴影缩小,默认是0
  • color:可选,阴影的颜色,支持所有合法的颜色值
  • inset:可选,设置为内阴影,不设置则是外阴影

第一种效果:悬浮上浮的卡片式图片列表

这种效果常见于商品展示列表,鼠标悬浮在图片上时,阴影变大,图片有向上浮起的感觉,增强交互感。

HTML结构

<div class="image-list">
  <div class="image-item">
    <img src="https://picsum.photos/200/150?random=2" alt="示例图片1">
    <p class="image-title">示例图片1</p>
  </div>
  <div class="image-item">
    <img src="https://picsum.photos/200/150?random=3" alt="示例图片2">
    <p class="image-title">示例图片2</p>
  </div>
  <div class="image-item">
    <img src="https://picsum.photos/200/150?random=4" alt="示例图片3">
    <p class="image-title">示例图片3</p>
  </div>
</div>

CSS样式代码

/* 列表容器样式 */
.image-list {
  display: flex;
  gap: 20px;
  padding: 20px;
  flex-wrap: wrap;
}

/* 单个图片项基础样式 */
.image-item {
  width: 220px;
  padding: 10px;
  background-color: #fff;
  border-radius: 8px;
  /* 基础阴影:水平0,垂直2px,模糊8px,扩散0,浅灰色 */
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  cursor: pointer;
}

/* 鼠标悬浮时的样式 */
.image-item:hover {
  /* 悬浮时阴影变大,垂直偏移增加到8px,模拟上浮效果 */
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.15);
  transform: translateY(-5px);
}

/* 图片样式 */
.image-item img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 4px;
}

/* 标题样式 */
.image-title {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}

第二种效果:带层次感的堆叠式图片列表

这种效果模拟多张图片堆叠的效果,阴影从下到上逐渐变浅,适合展示相册类的图片列表。

HTML结构

<div class="stack-image-list">
  <div class="stack-item">
    <img src="https://picsum.photos/200/150?random=5" alt="堆叠图片1">
  </div>
  <div class="stack-item">
    <img src="https://picsum.photos/200/150?random=6" alt="堆叠图片2">
  </div>
  <div class="stack-item">
    <img src="https://picsum.photos/200/150?random=7" alt="堆叠图片3">
  </div>
</div>

CSS样式代码

/* 堆叠列表容器 */
.stack-image-list {
  position: relative;
  width: 220px;
  height: 180px;
  margin: 20px auto;
}

/* 单个堆叠项样式 */
.stack-item {
  position: absolute;
  width: 200px;
  height: 150px;
  padding: 5px;
  background-color: #fff;
  border-radius: 4px;
  transition: all 0.3s ease;
}

/* 第一层图片,最底层,阴影最大 */
.stack-item:nth-child(1) {
  top: 20px;
  left: 10px;
  /* 较大的阴影,模拟最底层的投影 */
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);
  z-index: 1;
}

/* 第二层图片,中间层,阴影中等 */
.stack-item:nth-child(2) {
  top: 10px;
  left: 5px;
  /* 中等大小的阴影 */
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.12);
  z-index: 2;
}

/* 第三层图片,最顶层,阴影最小 */
.stack-item:nth-child(3) {
  top: 0;
  left: 0;
  /* 最小的阴影 */
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.1);
  z-index: 3;
}

/* 鼠标悬浮时所有层都上浮,阴影统一变大 */
.stack-image-list:hover .stack-item:nth-child(1) {
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

.stack-image-list:hover .stack-item:nth-child(2) {
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

.stack-image-list:hover .stack-item:nth-child(3) {
  box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

/* 图片样式 */
.stack-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2px;
}

两种效果的适用场景

第一种卡片式效果适合需要强交互感的场景,比如电商商品列表、文章封面列表,用户可以通过悬浮效果感知可点击性。第二种堆叠式效果适合相册展示、作品集展示等场景,能营造出自然的图片堆叠氛围,视觉上更有设计感。

实际使用中可以根据项目需求调整box-shadow的参数,比如修改颜色适配品牌色,调整模糊半径控制阴影的柔和度,也可以结合其他CSS3属性比如border-radius、transform实现更丰富的效果。

CSS3box_shadow图片列表边框阴影修改时间:2026-06-15 11:48:37

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。