javascript - 如何修复 CSS 转换的反应?
问题描述
我正在构建一个简单的登录/注册屏幕。我正在通过状态变量切换登录/注册表单。切换工作正常,但一切都发生在一个帧中,我想为表单容器的高度过渡设置动画,以及在表单切换时淡入或淡出表单。我正在努力理解/驯服过渡属性,到目前为止,我设法过渡了高度,但它只能工作一次,当然,我无法为表单不透明度设置动画。谁能帮我弄清楚我错过了什么?代码沙箱链接:https ://codesandbox.io/s/wizardly-flower-e42dj
解决方案
最好在此处粘贴代码,但无论如何您都可以使用 CSS 关键帧来实现淡入效果。
.fade-in {
animation: fadeIn ease 1s;
-webkit-animation: fadeIn ease 1s;
-moz-animation: fadeIn ease 1s;
-o-animation: fadeIn ease 1s;
-ms-animation: fadeIn ease 1s;
}
@keyframes fadeIn {
0% {
opacity:0;
}
100% {
opacity:1;
}
}
@-moz-keyframes fadeIn {
0% {
opacity:0;
}
100% {
opacity:1;
}
}
@-webkit-keyframes fadeIn {
0% {
opacity:0;
}
100% {
opacity:1;
}
}
@-o-keyframes fadeIn {
0% {
opacity:0;
}
100% {
opacity:1;
}
}
@-ms-keyframes fadeIn {
0% {
opacity:0;
}
100% {
opacity:1;
}
}
当您添加类以显示登录表单和注册表单时,也添加此“淡入”类。同样,您可以为淡出编写相同的内容。
https://codesandbox.io/s/broken-wildflower-dwn0q?file=/src/App.js
更新了您的代码供您参考。
推荐阅读
- laravel - 在 Vue js 中从一个详细信息页面到主详细信息页面
- node.js - Bookshelf Node js 问题:必须为设备组件定义一个有效的目标模型 hasMany 关系
- node.js - 如何从服务器显示名称到 angular.js?
- laravel - 从 mongodb 中选择每列都有不同架构的数据
- anylogic - AnyLogic 创建多个 Destination 节点访问的代理
- c# - ConcurrentHeap 实现中的问题
- selenium-chromedriver - Robot Framework 的 Input Text 关键字不起作用
- java - 如何使用 JUnit5 为 Kafka 消息消费者测试 PACT
- c# - 将文件上传到 Sharepoint 文件夹
- cmake - 现代 CMake - 依赖传播