【逆战班】

动画可以让一个元素具有动态的效果,这个过程是使元素从一种样式变成另一个样式的过程。我们可以通过设置关键帧的方法来控制动画在某个时间节点的运动方式。通常设置多个节点来实现复杂的动画效果。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过渡、动画及变形的基本属性与运用的更多相关文章

  1. CSS过渡动画之transition

    O(∩_∩)O~ 这两天在看看CSS的相关内容,关于transition动画感觉很有意思,分享一下. CSS负责给html加效果,自然少不了各种动画,今天介绍一下transition. 概述 看一段比 ...

  2. CSS 过渡动画

    一.过渡 过渡(transition)是CSS3中具有颠覆性的特征之一,可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 在CSS3 ...

  3. 12 react 基础 的 css 过渡动画 及 动画效果 及 使用 react-transition-group 实现动画

    一. 过渡动画 # index.js import React from 'react';import ReactDOM from 'react-dom';import App from './app ...

  4. css过渡动画

    具体代码:1.水平翻转-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);transfo ...

  5. CSS基础篇之背景、过渡动画

    background-origin(背景原点) 设置元素背景图片的原始起始位置.必须保证背景是background-repeat为no-repeat属性才能生效. background-origin: ...

  6. vue过渡 & 动画---进入/离开 & 列表过渡

    (1)概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animat ...

  7. 基于 React 实现一个 Transition 过渡动画组件

    过渡动画使 UI 更富有表现力并且易于使用.如何使用 React 快速的实现一个 Transition 过渡动画组件? 基本实现 实现一个基础的 CSS 过渡动画组件,通过切换 CSS 样式实现简单的 ...

  8. 058_末晨曦Vue技术_过渡 & 动画之过渡的类名

    进入/离开 & 列表过渡 点击打开视频讲解更加详细 概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class ...

  9. Css中的变形及过渡动画

    在css3的标准中新增加了变形样式,这些样式使得网页中各元素的位置形状的变换变得更加容易.其语法如下: transform:none | <transform-function>+ 其中对 ...

随机推荐

  1. Oscar的数理统计笔记本

    目录 Random Variable discrete distribution: continuous distribution: 统计量 现代统计学时期: Survey sampling Rand ...

  2. [一般图最大匹配]Bimatching

    10566 Bimatching 题意:一个男生必须跟两个女生匹配,求最大匹配 思路:一般的二分图匹配做不了,网络流也不会建图,这题采用的是一般图匹配 首先在原来二分图的基础上,将一个男生拆成两个点 ...

  3. java面试和笔试大全

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  4. yum pip

    方式1(yum安装):1.首先安装epel扩展源:[root@localhost ~]#  yum -y install epel-release如果没有安装epel扩展源而直接安装python-pi ...

  5. PhpMyadmin各版本漏洞合集

    1.PhpMyAdmin存在PREGREPLACEEVAL漏洞 影响版本: 3.5.x < 3.5.8.1 and 4.0.0 < 4.0.0-rc3 利用模块: exploit/mult ...

  6. RDD(三)——transformation_value类型

    map(func) 返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成.有多少个元素,func就被执行多少次. mapPartitions(func) 类似于map,但是,map函 ...

  7. K-th K

    题目描述 You are given an integer sequence x of length N. Determine if there exists an integer sequence ...

  8. javascript 获取 sx:datetimepicker 的值

     <div align="center"><sx:datetimepicker label="Start_Time" id="S ...

  9. xpath-helper 插件下载

    链接:https://pan.baidu.com/s/1YuTGrdwwAKQd2sIcuarBHQ 提取码:qb8p

  10. django框架进阶-中间件-长期维护

    ##################    为什么使用中间件?      ####################### 先说几个需求, 1,url的白名单,url=[ "XX"] ...