新闻中心

在css中如何用animation制作弹出提示框动画

2025-10-19
浏览次数:
返回列表
答案是使用CSS的@keyframes定义动画,通过opacity和transform实现提示框的弹出与消失。首先设置.toast基础样式并隐藏,利用@keyframes toast-in定义从上方弹入的动画,结合J*aScript添加show类触发显示,3秒后移除类实现自动关闭;可选toast-out动画实现平滑退出,注意visibility与animation-fill-mode:forwards配合保持状态,确保动画流畅自然。

在css中如何用animation制作弹出提示框动画

要使用 CSS 的 animation 制作弹出提示框动画,关键是定义关键帧(@keyframes)来控制元素从隐藏到显示的过渡过程,通常包括透明度变化和位移效果。下面是一个简单实用的实现方式。

1. 基本结构:HTML 结构

提示框通常包含一个容器,比如一个带有类名 toast 的 div:

<div class="toast">操作成功!</div>

2. 样式与动画定义:CSS 实现

先设置提示框的基本样式,并通过 @keyframes 定义弹出动画:

.toast {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  opacity: 0;
  visibility: hidden;
  z-index: 999;
}

@keyframes toast-in {
  0% {
    opacity: 0;
    transform: translate(-50%, -100%);
    visibility: visible;
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.toast.show {
  animation: toast-in 0.5s ease-out forwards;
}

3. 触发动画:J*aScript 控制显隐

使用 J*aScript 添加或移除 show 类来触发动画:

// 获取元素
const toast = document.querySelector('.toast');

// 显示提示框
function showToast() {
  toast.classList.add('show');
  
  // 3秒后自动消失
  setTimeout(() => {
    toast.classList.remove('show');
  }, 3000);
}

// 调用函数测试
showToast();
  

4. 可选增强:退出动画

如果需要平滑消失,可以再定义一个退出动画:

@keyframes toast-out {
  to {
    opacity: 0;
    transform: translate(-50%, -100%);
  }
}
  

然后在移除 show 类前,先添加退出类,延迟移除元素。

基本上就这些。通过结合 opacitytransform@keyframes,你可以轻松做出流畅自然的弹出提示框动画,无需依赖 J*aScript 动画库。关键是控制好 visibilityforwards 保持最终状态。不复杂但容易忽略细节。

AI Surge Cloud AI Surge Cloud

低代码数据分析平台,帮助企业快速交付深度数据

AI Surge Cloud 87 查看详情 AI Surge Cloud

以上就是在css中如何用animation制作弹出提示框动画的详细内容,更多请关注其它相关文章!


# 选择器  # 网站建设怎么报价  # 蓟县网站建设联系方式  # 许昌做网站优化的公司  # 建设工业网站  # 益阳网站建设联系方式  # bing关键词排名  # 程序员的seo  # 机械配件网站建设  # SEO点击工具写生文案  # 德州抖音seo推荐公司  # 相关文章  # 你可以  # css  # 两种类型  # 是一个  # 中不  # 可选  # 如何用  # 移除  # 弹出  # ssl  # html  # java  # javascript 


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


相关推荐: C++如何检测键盘输入_C++ _kbhit与_getch函数非阻塞输入  sublime如何只显示或隐藏特定类型文件_sublime侧边栏文件过滤  J*aScriptWebpack优化_J*aScript构建工具实战  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  b站怎么删除评论_b站评论管理与删除操作  谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】  微博网页版主页入口 微博官方网站免登录访问  C++指针和引用有什么区别_C++内存管理核心概念深度解析  微信语音通话掉线如何解决 微信语音通话稳定优化方法  192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台  TikTok网页版直接登录 TikTok网页端官方平台入口  React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性  J*aScript中向JSON对象添加新属性的正确姿势  小米Civi 4录制视频过暗_小米Civi 4亮度优化  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  J*aScript数据结构转换:将对象数组按类别分组  斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程  HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议  解决Python单元测试中Mock异常方法调用计数为零的问题  蛙漫2台版漫画地址 Manwa2正版网页版链接  如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化  解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南  限制HTML日期输入框的日期选择范围  Win11 BitLocker密码忘了怎么办 Win11找回BitLocker恢复密钥方法【解决】  Linux如何排查内存不足OOME问题_LinuxOOM分析教程  J*aScript设计模式实践_j*ascript代码优化  QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  J*aScript 字符串标签转换:使用正则表达式高效替换  12306怎么选座位选到安静区_12306选座安静区域选择策略  XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法  2026春节假期票务安排_2026春节放假购票指南  深入理解J*a编译器的兼容性选项:从-source到--release  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  深入理解J*a合成构造器:何时以及为何阻止其生成  12306几点到几点不能订票? | 官方最新系统维护时间全解析  Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换  QQ网页版官方账号入口 QQ网页版网页版登录指南  c++20的std::jthread是什么_c++可中断线程与RAII式管理  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用  高德地图沿途添加点失败如何解决 高德多点规划方法  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等 

搜索