css动画基本使用

目录

制作动画分为两步:

动画常用属性: 

动画序列:

transition属性:

示例:太极旋转


动画(animation):是CSS3中具有颠覆性的特征之一,可通过设置多个结点来精确控制一个或一组动画,用来实现复杂的动画效果。

制作动画分为两步:

定义动画:

使用/调用动画:

用keyframes定义动画:

<style>
   @keyframes move{
     0%{
        transform: translate(0px);
        }
     100%{
        transform: translate(100px);
        }
.div1{
    animation-name:move;/*需要执行的动画的名字*/
    animation-duration: 3s;/*所需要的时间*/
    animation-iteration-count: infinite;/* 执行次数*/
}
</style>

动画常用属性: 

动画序列:

1.可以做多个状态的变化

2.里面的百分比必须是整数

3.里面的百分比就是总的时间的划分

根据百分比状态确定实现什么动画:

@keyframes move{
        0%{
            transform: translate(0px,0px);  
        }
        25%{
            transform: translate(100px,0px);
        }
        50%{
            transform: translate(100px,100px);
        }
        75%{
            transform: translate(0px,100px);
        }
        100%{
            transform: translate(0,0);
        }
    }

transition属性:

none定义不进行转换。
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate(x,y)定义 2D 转换。
translate3d(x,y,z)定义 3D 转换。
translateX(x)定义转换,只是用 X 轴的值。
translateY(y)定义转换,只是用 Y 轴的值。
translateZ(z)定义 3D 转换,只是用 Z 轴的值。
scale(x,y)定义 2D 缩放转换。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)通过设置 X 轴的值来定义缩放转换。
scaleY(y)通过设置 Y 轴的值来定义缩放转换。
scaleZ(z)通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle)定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿着 X 轴的 3D 旋转。
rotateY(angle)定义沿着 Y 轴的 3D 旋转。
rotateZ(angle)定义沿着 Z 轴的 3D 旋转。
skew(x-angle,y-angle)定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle)定义沿着 X 轴的 2D 倾斜转换。
skewY(angle)定义沿着 Y 轴的 2D 倾斜转换。
perspective(n)为 3D 转换元素定义透视视图。

动画简写属性:

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态;

示例:

太极旋转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
@keyframes move {
    from{
        transform: rotate(0deg);
    }
    to{
        transform:rotate(360deg);

    }
}
body {
	background-color: #adadad;/*设置背景色*/
}
div{
    animation-duration:0.1ms;
    animation-name: move;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
 }
#yinyang {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: linear-gradient(
		to bottom,
		#ffffff 0%,
		#ffffff 50%,
		#000000 50%,
		#000000 100%
	);
	position: relative;
	margin: 100px auto;
}
 
#yinyang::before {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 40px solid black;/*左侧黑球套白点*/
	background-color: white;
	left: 0;
	top: 50px;
}
 
#yinyang::after {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 40px solid white;/*右侧白球套黑点*/
	background-color: black;
	right: 0;
	top: 50px;
}
    </style>
</head>
<body>
    <div id="yinyang"></div>
</body>
</html>

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Vue中使用CSS动画animate可以通过以下步骤实现: 1. 在Vue组件中引入animate.css动画库 ``` import 'animate.css'; ``` 2. 在需要使用动画的元素上添加animate.css中的动画类名 ``` <template> <div class="box animate__animated animate__bounce">Hello World!</div> </template> ``` 3. 可以通过Vue的transition组件来实现进入和离开动画 ``` <template> <transition name="fade"> <div v-if="show" class="box">Hello World!</div> </transition> </template> <style> .fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to { opacity: 0; } </style> ``` 以上就是在Vue中使用CSS动画animate的基本步骤。 ### 回答2: Vue.js是一款流行的前端JavaScript库,它可以帮助您快速构建动态响应的现代Web应用程序。其中之一功能强大的功能是使用CSS动画来为Vue组件添加特殊的视觉效果。在Vue中使用CSS动画通常需要使用类库来帮助管理动画:animate.css是其中一个很好的选择。 Animate.css是一个轻量级的CSS动画框架,它提供了一个广泛的动画效果选项。它适用于各种类型的Web项目,包括Vue应用程序。下面是在Vue中使用Animate.css动画的步骤: 步骤1:安装Animate.css 首先,在Vue项目中安装Animate.css类库。可以使用npm包管理器来安装它: npm install animate.css --save 步骤2:导入Animate.css 在需要使用Animate.css动画的组件中,将该类库导入并添加样式类名称。可以通过在组件内部或与其相关的样式表中导入它。例如: <template> <div class="box"></div> </template> <script> import 'animate.css/animate.min.css'; export default { name: 'AnimateBox', data() { return { isVisible: true } } } </script> <style lang="scss"> .box { width: 100px; height: 100px; background-color: red; animation: bounce 2s infinite; } </style> 步骤3:添加动画 在组件的样式中,添加动画名称(例如bounce)和持续时间(例如2秒)。 通过向组件的数据属性添加isVisible变量来启动和停止动画。例如: <template> <div :class="{ 'animated bounce': isVisible }"></div> <button @click="isVisible = !isVisible">Toggle animation</button> </template> <script> import 'animate.css/animate.min.css'; export default { name: 'AnimateBox', data() { return { isVisible: true } } } </script> 请注意,类animated和bounce是Animate.css的两个类名。isVisible变量在组件内部初始化为true,这将启动动画。当单击按钮时,可以使用对象绑定切换isVisible属性,以停止或重新启动动画。 结束语: 在Vue中使用Animate.css动画是一种有趣且易于使用的方法,可以为您的Vue组件添加特殊的视觉效果,从而提高用户体验。上述是在Vue中使用Animate.css动画基本步骤,对于想要在Vue中使用动画的开发者可以进行尝试。 ### 回答3: Vue中使用CSS动画animate可以为网页增加更加生动的视觉效果,提升用户体验。实际上,Vue已经默认支持了大多数的CSS过渡和动画效果,只需要在动态绑定的数据中添加过渡名称,然后在样式表中定义过渡规则即可。 首先,在Vue的数据绑定中使用transition和animation类名来定义需要添加动画效果的元素,这些类名可以与CSS过渡或动画样式表配合使用。针对不同过渡效果和事件,Vue通过以下类名提供对应的支持: 1. v-enter, v-leave-to: 在元素插入/移除之前使用,可定义过渡效果。 2. v-enter-active, v-leave-active: 在元素插入/移除之后使用,可定义过渡效果。 为了执行动画,Vue使用了Web Animations API。通过配置动画属性,开发者可以将CSS动画应用到Vue元素中。Vue实现动画的方式主要有以下两种: 1. 在CSS中设置关键帧(@keyframes)和动画名称,然后在Vue元素中使用类名来触发动画效果。 2. 使用Vue提供的<transition>和<animation>组件,在元素出现或消失时自动添加/删除指定类名。 最后,需要注意的是,由于动画效果需要占用大量的系统资源,因此在使用Vue中的CSS动画animate时,需要考虑优化动画效果,让其更加有效率。可以通过在CSS中增加属性,如will-change或translate3d,来优化动画效果。确保过渡和动画效果的各种属性都能够顺畅地运行才能让你的网站更加生动有趣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值