animate.css最简单的动画效果

这篇博客介绍了如何在HTML中结合Animate.css库创建一个无限循环的滚入屏幕动画效果。通过添加特定的类名如'animate__rollIn'和'animate__infinite',可以实现图片的持续滚动动画。文章提供了代码示例和相关参考资料链接,帮助读者理解和应用这种动画效果。
摘要由CSDN通过智能技术生成

目录结构

img

    demo.png

index.html
index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.min.css" rel="stylesheet">
	</head>
	<body>
		<!-- animate__delay-2s  动画延迟 -->
		<!-- animate__faster 动画执行速度 -->
		<!-- animate__repeat-2 动画循环次数  animate__infinite 无限 -->
		<img src="img/demo.png" class="animate__animated animate__rollIn animate__infinite"/>
	</body>
</html>
参考:

动画库

https://www.dowebok.com/demo/2014/98/

动画属性

https://animate.style/

 

好的,我会根据你的要求为你编写一个登录页面,并实现Tab栏的切换和动画效果。 首先,我们需要引入相关的依赖: ``` // 安装react-transition-group和animate.css npm install react-transition-group animate.css ``` 接着,我们开始编写代码。先看一下整体的代码结构: ``` import React, { useState } from "react"; import { CSSTransition } from "react-transition-group"; import "animate.css"; function Login() { const [loginType, setLoginType] = useState("account"); const handleTabClick = (type) => { setLoginType(type); }; return ( <div className="login"> <div className="tabs"> <div className={`tab ${loginType === "account" ? "active" : ""}`} onClick={() => handleTabClick("account")} > 账号登录 </div> <div className={`tab ${loginType === "qrcode" ? "active" : ""}`} onClick={() => handleTabClick("qrcode")} > 二维码登录 </div> </div> <div className="content"> <CSSTransition in={loginType === "account"} timeout={300} classNames="fade" unmountOnExit > <div className="account-login"> {/* 账号登录表单 */} </div> </CSSTransition> <CSSTransition in={loginType === "qrcode"} timeout={300} classNames="fade" unmountOnExit > <div className="qrcode-login"> {/* 二维码登录表单 */} </div> </CSSTransition> </div> </div> ); } export default Login; ``` 我们先来看一下`handleTabClick`这个函数。这个函数的作用是根据当前点击的Tab来设置登录类型,即`loginType`的值。我们在Tabs中给每个Tab添加了一个`onClick`事件,当点击时调用`handleTabClick`函数。 接着,我们在`content`中使用了`CSSTransition`组件。这个组件可以根据`in`属性的值来控制它所包含的子组件的出现和消失。当`in`的值为true时,它所包含的子组件会显示出来;当`in`的值为false时,它所包含的子组件会被隐藏起来。 `timeout`属性控制了子组件的进入和退出动画的时间,单位是毫秒。 `classNames`属性指定了进入和退出动画的类名,我们这里使用了`fade`类名,这个类名是在animate.css中定义的一个渐变动画。 `unmountOnExit`属性控制了当子组件退出时是否卸载掉这个组件,我们这里设置为true,表示当子组件退出时会被卸载掉。 在`CSSTransition`中,我们根据`loginType`的值来决定显示哪个子组件。当`loginType`的值为`account`时,显示账号登录表单;当`loginType`的值为`qrcode`时,显示二维码登录表单。 最后,我们还需要在CSS中定义一些样式: ``` .login { display: flex; flex-direction: column; align-items: center; } .tabs { display: flex; justify-content: center; margin-top: 50px; } .tab { font-size: 16px; padding: 10px 20px; margin-right: 20px; cursor: pointer; transition: all 0.3s ease-out; } .tab.active { background: #1890ff; color: #fff; } .content { margin-top: 50px; width: 400px; } .account-login { padding: 20px; background: #fff; border: 1px solid #ddd; } .qrcode-login { padding: 20px; background: #f5f5f5; border: 1px solid #ddd; } /* 渐变动画 */ .fade-enter { opacity: 0; } .fade-enter-active { opacity: 1; transition: opacity 300ms ease-out; } .fade-exit { opacity: 1; } .fade-exit-active { opacity: 0; transition: opacity 300ms ease-out; } ``` 这里我们使用了flex布局,让登录框居中显示。Tabs的样式比较简单,就是一些基本的样式设置。`tab.active`表示当前选中的Tab的样式。 `.account-login`和`.qrcode-login`分别表示账号登录表单和二维码登录表单的样式。 最后,我们定义了`fade`动画的进入和退出样式。在`.fade-enter`和`.fade-exit`中设置初始和结束状态,在`.fade-enter-active`和`.fade-exit-active`中设置动画过渡效果。 这样,我们就完成了登录页面的编写,实现了Tab栏的切换和动画效果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值