CSS过渡实现图文动画效果
时间:2026-02-17 18:33:35 396浏览 收藏
本文深入讲解了如何利用CSS transition属性实现图文混排的优雅动画效果,涵盖图片缩放与文字淡入、左右布局宽度动态调整、以及图层叠加下的位移与滤镜过渡三大实用场景;通过合理选用transform、opacity、filter等硬件加速属性,配合精准的过渡时长与缓动函数,并强调避免布局重排以确保动画流畅稳定,为前端开发者提供了即学即用、高性能且视觉表现力强的交互设计解决方案。

要实现图文混排的平滑过渡效果,关键在于使用 CSS 的 transition 属性控制元素在状态变化时的动画表现。常见场景比如鼠标悬停时图片缩放、文字浮现或布局微调。下面介绍几种实用方法。
1. 图片缩放 + 文字淡入(hover触发)
这是最常见的图文过渡效果:默认状态下图片正常显示,文字隐藏;鼠标移上时图片轻微放大,文字渐显。
示例代码:
HTML 结构:

CSS 样式:
.card {
position: relative;
width: 300px;
height: 200px;
overflow: hidden;
}
.card-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.card-text {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background: rgba(0,0,0,0.7);
color: white;
padding: 12px;
transform: translateY(100%);
opacity: 0;
transition: all 0.4s ease;
}
.card:hover .card-img {
transform: scale(1.1);
}
.card:hover .card-text {
transform: translateY(0);
opacity: 1;
}
2. 左右图文布局的宽度过渡
适用于左侧图片、右侧文字的横向排列结构,鼠标悬停时图片宽度扩大,文字区域自动压缩并调整透明度。
CSS 示例:
.flex-card {
display: flex;
height: 150px;
border: 1px solid #ddd;
}
.flex-img {
width: 60%;
height: 100%;
background: url('image.jpg') no-repeat center;
background-size: cover;
transition: width 0.3s ease;
}
.flex-text {
width: 40%;
padding: 10px;
color: #333;
opacity: 0.8;
transition: opacity 0.3s ease, width 0.3s ease;
}
.flex-card:hover .flex-img {
width: 70%;
}
.flex-card:hover .flex-text {
width: 30%;
opacity: 1;
}
3. 使用 transform 和 opacity 实现层叠过渡
当图文重叠放置时,可用 z-index 搭配 transform 控制出场顺序。例如文字初始在图片上方但透明,hover 时下移或上浮。
.overlay-card {
position: relative;
width: 280px;
height: 180px;
}
.overlay-img {
width: 100%;
height: 100%;
transition: filter 0.3s ease;
}
.overlay-text {
position: absolute;
top: 50%;
left: 10px;
right: 10px;
transform: translateY(20px);
opacity: 0;
color: white;
text-shadow: 0 1px 3px rgba(0,0,0,0.8);
transition: all 0.4s ease;
}
.overlay-card:hover .overlay-img {
filter: brightness(0.6);
}
.overlay-card:hover .overlay-text {
transform: translateY(0);
opacity: 1;
}
基本上就这些。核心是合理设置 transition 的属性、时间和缓动函数,配合 hover 改变样式触发过渡。注意保持布局稳定,避免重排抖动。可尝试组合 transform、opacity、filter 等支持硬件加速的属性,让动画更流畅。
好了,本文到此结束,带大家了解了《CSS过渡实现图文动画效果》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
116 收藏
-
388 收藏
-
181 收藏
-
388 收藏
-
495 收藏
-
397 收藏
-
342 收藏
-
223 收藏
-
249 收藏
-
402 收藏
-
436 收藏
-
310 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习