【逆战班】

动画可以让一个元素具有动态的效果,这个过程是使元素从一种样式变成另一个样式的过程。我们可以通过设置关键帧的方法来控制动画在某个时间节点的运动方式。通常设置多个节点来实现复杂的动画效果。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. Xcode7 HTTP请求问题

    问题: “Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is ...

  2. [原]livekd使用问题记录

    sysinternal suite中的livekd.exe可谓神器.可以用来观察本地内核的一些状态,当然抓内核dump再合适不过了. 在使用livekd的时候遇到了一些问题,现总结如下: 使用live ...

  3. linux c 调用 so 库

    /***********编译时要链接 -l dl 库************/ #include<stdlib.h> #include<stdio.h> #include< ...

  4. spring02-组件注册-@ComponentScan-自动扫描组件&指定扫描规则

    上一篇我们讲到,讲@Bean注解标在某个方法上,那么ioc容器启动的时候就会将方法返回值放到ioc容器中 在开发中,实际上包扫描用的比较多,接下来我们会介绍两种方式一种是基于xml,一种是基于注解. ...

  5. Matlab高级教程_第二篇:关于MATLAB转C#过程中MWArray到C#数组,C#数组到MWArray相互转换

    Matlab传递数据时使用的方法,那么Matlab计算完成后在C#中应该怎么获取它的计算数据呢? 需要遵循两个基本步骤: 弄清楚Matlab函数传回的数据到底是什么格式?struct?cell?cha ...

  6. 吴裕雄--天生自然python学习笔记:python 用 Open CV抓取脸部图形及保存

    将面部的范围识别出来后,可以对识别出来的部分进行抓取.抓取一张图片中 的部分图形是通过 pillow 包中的 crop 方法来实现的 我们首先学习用 pillow 包来读取图片文件,语法为: 例如,打 ...

  7. 解决2013Lost connection to MySQL server during query错误方法

    在my.ini配置文件 mysqld 节点下添加 max_allowed_packet = 500M 也就是配置MySQL允许的最大数据包大小,上面的500M你可以根据你的项目修改为你自己的值,只要比 ...

  8. UML Learning

    在建筑业中,建模是一项经过检验并被广泛接受的工程技术,建立房屋和大厦的建筑模型,能帮助用户得到实际建筑物的印象.在软件建模中也具有同样的作用,建模提供了系统的蓝图. 建模是为了能够更好地理解正在开发的 ...

  9. Part-Appium-1

    1.安装node > 下载二进制文件,解压后,配置到环境变量 https://nodejs.org/download/release/latest/ > vim ~/.bashrc,exp ...

  10. OC门与OD门以及线与逻辑

    OC(Open Collector)门又叫集电极开路门,主要针对的是BJT电路(从上往下依次是基极,集电极,发射极)OD(Open Drain)门又叫漏极开路门,主要针对的是MOS管(从上往下依次是漏 ...