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>+ 其中对 ...
随机推荐
- Codeforces Round #524 (Div. 2)C 二维坐标系求俩矩形面积交
题:https://codeforces.com/contest/1080/problem/C 题意:给n*m的二维坐标系,每个位置(xi,yi)都表示一个方格,(1,1)的位置是白色,整个坐标系黑白 ...
- GIL全局解释器锁-死锁与递归锁-信号量-event事件
一.全局解释器锁GIL: 官方的解释:掌握概念为主 """ In CPython, the global interpreter lock, or GIL, is a m ...
- linux 上安装 tomcat
准备条件:安装java 一.tomcat 的安装 #新建文件夹 mkdir -p /data/tomcat #下载 tomcat8 服务器 wget http://mirrors.tuna.tsing ...
- elementUI的select全选
elementUI中的el-select全选 <template> <el-select class="handle-select" size="min ...
- maven多模块profiles的石使用
另外参考:https://blog.csdn.net/linhao19891124/article/details/73872303 maven中指定build一个project中几个特定的子modu ...
- mysql,主键与索引的区别和联系
关系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成 ...
- 17)C++开始--命名空间
命名空间:就是区分同一个名字,在不同的作用域的变量 代码展示 #include<iostream> namespace spaceA{ ; namespace spaceB{ struct ...
- 26)PHP,数据库表格中项的数据类型
类型展示: tinyint-----1个字节 smallint----2个字节 mediumint--3个字节 int------4个字节 bigint---8个字节 字符串类型 最基本最重要的2个: ...
- hybrid|Conform the norm of|Mollusk|uncanny|canny|Canvas|documentary
hybrid混合物 Conform the norm of 符合规范 Mollusk贝类 uncanny诡异的 canny精明的 Canvas帆布 documentary纪录片
- tomcat端口占用异常
错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009) 2011年01月18日 01:34:00 阅读数:202700 启动Tomcat服务器报错: ...