本文详细介绍了如何利用css动画实现一个图像在视口内无限循环滚动的效果,作为已废弃的`marquee`标签的现代替代方案。通过`@keyframes`定义动画路径,结合`transform: translatex()`精确控制元素位置,使图像能够平滑地从视口右侧移动到左侧并无限重复,同时提供了具体的html和css代码示例及关键属性解析,帮助开发者轻松实现这一视觉效果。
在现代Web开发中,为了实现元素(如图像或文本)在页面上连续滚动的效果,我们不再推荐使用已废弃的zuojiankuohaophpcnmarqueeyoujiankuohaophpcn标签。虽然zuojiankuohaophpcnmarqueeyoujiankuohaophpcn实现简单,但它不符合Web标准,且存在可访问性问题。幸运的是,CSS动画提供了一个强大且灵活的替代方案,能够以更优雅、更符合标准的方式实现相同的视觉效果,例如让一个透明PNG图像在视口中无限循环移动。
实现图像无限循环滚动的核心在于利用CSS的@keyframes规则和transform属性。我们通过定义动画的关键帧,让元素在指定时间内从一个位置平移到另一个位置,并设置动画无限循环。
以下是使用HTML和CSS实现一个透明图像(例如一艘船的PNG图片)在视口中无限循环滚动的具体步骤和代码。
首先,我们需要一个HTML元素来承载我们的图像。这里我们使用一个div元素,并通过CSS将其背景设置为所需的透明PNG图像。
CSS图像滚动示例
接下来,在style.css文件中定义ship-marquee类的样式,包括图像的尺寸、定位以及关键的动画属性。
/* style.css */
body {
margin: 0;
overflow-x: hidden; /* 防止滚动条出现 */
}
.ship-marquee {
width: 120px; /* 船的宽度,根据实际图片调整 */
height: 80px; /* 船的高度,根据实际图片调整 */
background-image: url('path/to/your/ship.png'); /* 替换为你的透明PNG图片路径 */
background-size: contain; /* 确保图片完整显示在div内 */
background-repeat: no-repeat; /* 防止图片重复 */
background-position: center; /* 图片居
中显示 */
position: fixed; /* 固定在视口,不随页面滚动 */
top: 50px; /* 距离视口顶部的距离,可调整 */
/* left: 0; */ /* 动画会控制水平位置,此处可省略或设为0 */
z-index: 100; /* 确保船在其他内容之上 */
/* 应用动画 */
animation: marquee-move 15s linear infinite forwards;
}
/* 定义动画关键帧 */
@keyframes marquee-move {
0% {
transform: translateX(100vw); /* 动画开始时,船完全位于视口右侧之外 */
}
100% {
transform: translateX(-100%); /* 动画结束时,船完全位于视口左侧之外(-100%是自身宽度) */
}
}代码解析:
通过CSS动画,我们能够以现代、标准且高性能的方式实现图像的无限循环滚动效果,完美替代了已废弃的zuojiankuohaophpcnmarqueeyoujiankuohaophpcn标签。这种方法不仅提供了更精细的控制,还增强了网页的可访问性和兼容性。掌握CSS动画的@keyframes和transform属性,是前端开发者实现丰富动态效果的必备技能。
# css
# html
# 前端
# 前端开发
# ai
# css动画
# css样式
# html元素
# web标准
# overflow
# 循环
# position
# background
# transform
# animation
# 这是
# 口中
# 所需
# 使其
# 设置为
# 结束时
# 滚动条
# 的是
# 这一
# 多个
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
Windows怎样关闭开始菜单广告_Windows关闭开始菜单广告设置【步骤】
c++获取当前时间戳_c++ time函数使用详解
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Python列表推导式与字典推导式教程_简化代码高效写法
如何在 Go 中比较自定义的数组类型(如 [20]byte)
Python与MongoDB NoSQL开发实战_文档模型与索引优化
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
VSC怎样在VSC中调试PHPAPI_接口调试技巧【详解】
如何在Golang中指定模块版本_使用go.mod控制版本号
Win11文件夹预览图不显示怎么办_Win11缩略图缓存重建修复【教程】
如何用正则与预处理结合精准拦截拼接式垃圾域名
Win10怎么关闭自动更新错误弹窗_Win10策略屏蔽失败提示减少干扰【防护】
Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】
windows系统找不到无线网络怎么办_windows WLAN适配器故障排查
Win11怎么关闭任务栏小组件_Windows11隐藏任务栏天气图标
如何使用Golang log设置日志输出格式_Golang log日志格式示例
Win11怎么激活Windows10_Win11激活Win10系统方法【步骤】
Python音视频处理高级项目教程_FFmpegPydub剪辑与特效
Win11怎么更改文件夹图标_自定义Win11文件夹外观样式【详解】
Win11此电脑不在桌面上_Windows 11桌面图标设置找回【步骤】
Golang如何实现基本的用户注册_Golang用户注册表单处理示例
php转mp4怎么设置帧率_调整php生成mp4视频帧率说明【说明】
LINUX下如何配置VLAN虚拟局域网_在LINUX交换机与服务器上的实现
php命令行怎么运行_通过CLI模式执行PHP脚本的步骤【说明】
Win11怎样安装企业微信_Win11安装企业微信教程【步骤】
如何用正则表达式精确匹配最多含一个换行符的起止片段
如何在 VS Code 中正确配置并使用 NumPy
MAC怎么设置程序窗口永远最前_MAC窗口置顶插件安装与快捷设置【方法】
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
Win11怎么退出微软账户_切换Win11为本地账户登录方法【详解】
Win11如何开启telnet服务 Win11启用Telnet客户端【步骤】
c++ stringstream用法详解_c++字符串与数字转换利器
如何使用Golang table-driven fuzz测试_多数据随机化发现缺陷
Windows10系统怎么查看运行时间_Win10 CPU正常运行时间查询
Win11如何隐藏桌面图标 Win11一键隐藏/显示桌面图标【指南】
Win11怎么关闭触摸键盘图标_Windows11任务栏系统托盘设置
Win11任务栏怎么固定应用 Win11将软件图标固定到底部【步骤】
Win11屏幕亮度突然变暗怎么解决_自动变暗问题处理
Python随机数生成_random模块说明【指导】
如何在 Windows 11 中使用 AlomWare 工具箱
Win11怎么设置右键刷新选项_Windows11显示更多选项技巧
Windows10如何彻底关闭自动更新_Win10服务与组策略双重禁用
Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系统【安全指南】
如何使用Golang log记录不同级别日志_Golang log Println与Fatal示例
Python 中将 ISO 8601 时间戳转换为日期并计算日期差值的完整教程
Python对象比较与排序_魔术方法解析【教程】
怎么将XML数据可视化 D3.js加载XML
如何在Golang中实现并发消息队列消费者_Golang channel消息消费实践
php嵌入式日志记录怎么实现_php将硬件数据写入本地日志文件【指南】
Python文本编码与解码_跨平台解析说明【指导】
2025-11-17
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。