CSS过渡、动画及变形的基本属性与运用
【逆战班】
动画可以让一个元素具有动态的效果,这个过程是使元素从一种样式变成另一个样式的过程。我们可以通过设置关键帧的方法来控制动画在某个时间节点的运动方式。通常设置多个节点来实现复杂的动画效果。0%是动画的开始时间,100%是动画的完成。
一、transition(过渡)
transition主要包含四个属性:
执行变换的属性:transition-property
规定设置过渡效果的CSS属性的名称。all ( 默认值 ) , 指定 width , height;
变换时间:transition-duration
规定完成过渡效果需要多少秒或毫秒。
速率变化:transition-timing-function
规定速度效果的速度曲线。运动形式:加速、减速、匀速...
liner(匀速)
ease(默认值)
ease-in(加速)
ease-out(减速)
ease-in-out(加速然后减速)
cubic-bezier(自定义属性值)
变换延迟时间:transition-delay
定义过渡效果何时开始。例如:1s : 延迟1秒进行过渡,-1s : 提前1秒进行过渡
下面来做一个简单的案例:
首先定义一个容器
<body>
<div id="box"></div>
</body>
然后给容器添加transition属性和背景色
<style>
#box{ width:100px; height: 100px; background:red;
transition-duration : 2s;
transition-property : all;
transition-delay: 1s;
transition-timing-function: linear;
}
</style>
当鼠标移入时让容器改变大小和背景色
#box:hover{width: 200px;
height: 200px;
background-color: blue;}
这样就做了一个简单的案例,当鼠标移入之后容器会在两秒后变大,并且背景色会变成蓝色
二、animation(动画)
1.定义动画轨迹
@keyframes name {
0% {}
100% {}
}
2.调用动画
animation-name : 设置动画的名字
animation-duration : 动画的持续时间
animation-delay : 动画的延迟时间
animation-iteration-count : 动画的重复次数 ,默认值就是1 ,infinite无限次数
animation-timing-function : 动画的运动形式
liner(匀速)
ease(默认值)
ease-in(加速)
ease-out(减速)
ease-in-out(加速然后减速)
#box2{ width:100px; height:100px; background:red;
animation-name: name;
animation-duration: 2s;
animation-delay: 3s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
三、transform(变形)
translate : 位移
transform:translate(X,Y); 元素向指定点移动
transform:translateX(X);元素沿X轴移动
transform:translateY(Y); 元素沿Y轴移动
transform:translateZ(Z); 元素沿Z轴移动(3D)
scale : 缩放
transform:scale(num) num是一个比例值,正常比例是1。
transform:scale(num1 , num2) 两个值 分别对应宽和 高
transform:scaleX()通过设置X轴的值来定义缩放转换。
transform:scaleY()通过设置Y轴的值来定义缩放转换。
transform:scaleZ()通过设置Z轴的值来定义 3D 缩放转换。
rotate : 旋转
transform:rotate(num) num是旋转的角度 单位:deg ,正值:顺时针旋转,负值:逆时针旋转
rotateX()定义沿着 X 轴的3D旋转。
rotateY()定义沿着 Y 轴的3D旋转。
rotateZ()定义沿着 Z 轴的3D旋转。
skew : 斜切
transform:skew(num1,num2) : num1和num2都是角度,针对的是x 和 y
transform:skewX()定义沿着 X 轴的倾斜转换。
transform:skewY()定义沿着 Y 轴的倾斜转换。
注:skew没有3d写法。
tranform-origin:基点
tranform-origin(x,y,z)设置元素运动基点,默认值:center,center,0
@keyframes name {
0% { transform:translate(0,0); }
25%{ transform:translate(300px,0); }
50%{ transform:translate(300px,300px); }
75%{ transform:translate(0,300px); }
100% { transform:translate(0,0);}
}
四、3D动画
perspective(景深) : 离屏幕多远的距离去观察元素,值越大幅度越小。
transform-style : 3D空间:flat (默认值2d)、preserve-3d (3d,产生一个三维空间)
perspective-origin : 景深-基点位置,观察元素的角度。取值:left、right、top……
backface-visibility : 背面隐藏 hidden、visible (默认值)
CSS过渡、动画及变形的基本属性与运用的更多相关文章
- CSS过渡动画之transition
O(∩_∩)O~ 这两天在看看CSS的相关内容,关于transition动画感觉很有意思,分享一下. CSS负责给html加效果,自然少不了各种动画,今天介绍一下transition. 概述 看一段比 ...
- CSS 过渡动画
一.过渡 过渡(transition)是CSS3中具有颠覆性的特征之一,可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 在CSS3 ...
- 12 react 基础 的 css 过渡动画 及 动画效果 及 使用 react-transition-group 实现动画
一. 过渡动画 # index.js import React from 'react';import ReactDOM from 'react-dom';import App from './app ...
- css过渡动画
具体代码:1.水平翻转-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);transfo ...
- CSS基础篇之背景、过渡动画
background-origin(背景原点) 设置元素背景图片的原始起始位置.必须保证背景是background-repeat为no-repeat属性才能生效. background-origin: ...
- vue过渡 & 动画---进入/离开 & 列表过渡
(1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...
- 基于 React 实现一个 Transition 过渡动画组件
过渡动画使 UI 更富有表现力并且易于使用.如何使用 React 快速的实现一个 Transition 过渡动画组件? 基本实现 实现一个基础的 CSS 过渡动画组件,通过切换 CSS 样式实现简单的 ...
- 058_末晨曦Vue技术_过渡 & 动画之过渡的类名
进入/离开 & 列表过渡 点击打开视频讲解更加详细 概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class ...
- Css中的变形及过渡动画
在css3的标准中新增加了变形样式,这些样式使得网页中各元素的位置形状的变换变得更加容易.其语法如下: transform:none | <transform-function>+ 其中对 ...
随机推荐
- Spire.doc jar包实现word文件添加水印demo
/** * @create: 2020-02-23 21:50 */ import com.spire.doc.*; import com.spire.doc.documents.WatermarkL ...
- 二分查找(python)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/4/29 9:11 # @Author : Jackendoff # @Sit ...
- Opencv笔记(十七)——轮廓性质
边界矩形的宽高比 x,y,w,h = cv2.boundingRect(cnt) aspect_ratio = float(w)/h Extent Extent就是轮廓面积与边界矩形面积的比. are ...
- vs code打开文件显示的中文乱码
这种情况下,一般是编码格式导致的,操作办法: 鼠标点击之后,上面会弹出这个界面,双击选中 然后从UTF-8换到GB2312,或者自己根据情况,更改编码格式
- zcat|subprocess.check_all|subprocess.Popen|gzip|readline()
#!/usr/bin/python from subprocess import check_call import subprocess import gzip ''' $ zcat 160121_ ...
- Memcache工作原理
1 Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的 ...
- kettle的基本使用
一.下载下载kettlehttp://sourceforge.net/projects/pentaho/files/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.z ...
- iOS UICollectionViewCell 的拖动
1.长按cell的情况下实现拖动,所以理应想到用长按手势. 2.既然实现移动cell,就要看看UICollectionView 有没有方法或者协议可以移动的.通过查看UICollectionView的 ...
- MOOC(11)- 获取cookie后存到json中
获取cookie后转成字典格式 把字典格式cookie存到json数据中 需要在表格中写好关键字,判断是否写cookie.是否读cookie 在需要用cookie的时候根据键去json中取值 # 1. ...
- JavaScript 简介与语法
一.JavaScript简介 ).head里面 ).body里面 (在body内最为严谨) ).</html>之后 //程序上来要执行的部分 [2]三个常用对话框 alert()警告对话框 ...