新闻中心

如何在CSS中使用动画制作浮动提示框移动_transform translate与@keyframes

2025-11-26
浏览次数:
返回列表
使用CSS的@keyframes和transform:translate实现浮动提示框动画。1. 定义floatIn动画,使提示框从下方向上浮入并渐显;2. 将动画绑定到.tooltip元素,设置居中定位与动画参数;3. 可选添加gentleFloat循环动画,实现持续微浮动效果,提升视觉体验。

如何在css中使用动画制作浮动提示框移动_transform translate与@keyframes

浮动提示框在网页中常用于引导用户操作或展示临时信息。通过 CSS 的 transform: translate 结合 @keyframes,可以轻松实现平滑的移动动画效果,避免布局抖动,提升视觉体验。

1. 使用 @keyframes 定义移动动画

先用 @keyframes 设置动画关键帧,控制元素从一个位置移动到另一个位置。配合 transform: translate() 可以在不改变文档流的情况下移动元素。

例如,让提示框从下方浮入并轻微上移:

@keyframes floatIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(-10px);
  }
}

这个动画从透明、向下偏移 20px 开始,结束时完全显示,并向上移动 10px,模拟“弹跳浮起”的感觉。

语鲸 语鲸

AI智能阅读辅助工具

语鲸 314 查看详情 语鲸

2. 将动画应用到提示框元素

给提示框设置基础样式,并绑定动画。注意设置 transform-originposition 保证定位准确。

.tooltip {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: white;
  padding: 12px 20px;
  border-radius: 6px;
  font-size: 14px;
  opacity: 0;
  animation: floatIn 0.6s ease-out forwards;
}
  • transform: translateX(-50%) 让提示框水平居中
  • animation 属性启用动画:持续 0.6 秒,使用缓出曲线,forwards 保持最终状态
  • opacity: 0 确保动画开始前不可见

3. 添加循环浮动效果(可选)

如果希望提示框进入后持续轻微浮动,可以额外添加一个循环动画:

@keyframes gentleFloat {
  0%, 100% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(-15px);
  }
}

.tooltip {
  animation: floatIn 0.6s ease-out, 
              gentleFloat 2s ease-in-out infinite 0.6s;
}
  • 第二个动画 gentleFloat 模拟呼吸式浮动
  • 延迟 0.6 秒开始(与第一个动画衔接),无限循环

基本上就这些。利用 transform: translate 移动元素,配合 @keyframes 控制动画流程,既能实现流畅入场,又能避免页面重排,是制作浮动提示框的理想方式。

以上就是如何在CSS中使用动画制作浮动提示框移动_transform translate与@keyframes的详细内容,更多请关注其它相关文章!


# 中文网  # 泸水网站建设  # 酒泉旅游网站建设方案  # 临沧地区seo工具  # 论坛网站建设外包  # 谷歌网站推广工作怎么样  # 韩国海外推广加盟网站  # 南京最好的seo外包  # 建设网站专业介绍  # SEO技术教程听风博客  # 网页制作与网站建设实战大全pdf  # css  # 相关文章  # 第一个  # 不均匀  # 浮起  # 中不  # 如何在  # 绑定  # 可选  # 动画制作 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 新三国志曹操传110级星符试炼夏侯渊极难攻略  Typer应用中动态命令行参数的解析与处理  学习通网页版快速入口 学习通官网网页版直接打开  J*aScript生成器_j*ascript异步迭代  印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  iwriter统一登录平台 iwrite账号密码登录页面  Golang如何使用buffered channel提高性能_Golang buffered channel优化技巧  TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法  中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  晋江读书网页版在线登录 晋江读书电脑版官网  PHP 枚举:根据字符串获取枚举案例的策略与实现  AI泡沫首次被“刺破”:GPU十年都无法存活!  海棠账号登录入口_登录海棠账户同步阅读记录  马斯克:Optimus 人形机器人复数形式为 Optimi  React Router 嵌套组件中 URL 重定向问题的解决方案  钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法  必由学官网入口 必由学教师登录入口  PHP中高效并行检查多链接状态的教程  现代化 SciPy 一维插值:interp1d 的替代方案与最佳实践  高德地图沿途添加点失败如何解决 高德多点规划方法  淘宝网网页版登录入口 淘宝官方网页版快捷登录  Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】  python3时间如何用calendar输出?  天猫2025双十一0点秒杀攻略 天猫爆款抢购时间  怎么去除衣服上的口红印_生活小妙招教你用酒精轻松擦除  Lar*el头像管理:图片缩放与旧文件删除的最佳实践  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程  微信语音通话掉线如何解决 微信语音通话稳定优化方法  AO3官方在线访问地址 Archive of Our Own最新镜像合集  Lar*el Excel导入时生成自定义递增ID的策略与实践  React/Next.js中实现列表项的动态选择与移动  处理Kafka消费者会话超时:深入理解消息处理语义与幂等性  PHP中获取MongoDB服务器运行时间(Uptime)的专业指南  将JSON对象数组转置为键值对列表的实用指南  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作  mcjs网页版流畅运行 mcjs低配电脑畅玩入口  聚水潭ERP登录页面入口 聚水潭ERP官网登录界面  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  J*aScript DOM操作:高效清空列表元素的策略与实践  C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用  ACG动漫手机版官网入口 手机ACG动漫APP在线观看正版  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析  没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享  C++ vector二维数组定义_C++ vector of vector用法  Sublime怎么配置Nim语言环境_Sublime Nim代码高亮与补全  J*aScript对象创建方式_J*aScript设计模式应用  在Go开发中优雅管理ListenAndServe进程:GoSublime集成方案  Win11怎么修改默认浏览器_Windows 11设置Chrome为默认  Win11怎么关闭快速启动_Win11彻底关机设置教程 

搜索