【逆战班】

动画可以让一个元素具有动态的效果,这个过程是使元素从一种样式变成另一个样式的过程。我们可以通过设置关键帧的方法来控制动画在某个时间节点的运动方式。通常设置多个节点来实现复杂的动画效果。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. 吴裕雄--天生自然 JAVA开发学习:接口

    [可见度] interface 接口名称 [extends 其他的接口名] { // 声明变量 // 抽象方法 } import java.lang.*; //引入包 public interface ...

  2. 绿洲作业第二周 - Y3每日中文学习任务清单

    1. 本周仍是古诗学习周,老师已在“最美诵读”上布置本周需完成的任务,请孩子在“最美诵读”小程序中,结合老师发的学习任务清单,合理安排时间进行学习.如果孩子另有学习安排,可在周日(2.23)23:59 ...

  3. Android开发学习2--Android Studio目录结构、Module目录介绍、Android创建及运行和HelloWord的扩展----极其简单的游戏界面

    学习笔记: 1.Android Studio项目结构 Android Studio提供了很多项目结构,最常用的是Android 和 project Project列举出了所有文件. 建议使用Andro ...

  4. 【网络流】One-Way Roads

    [网络流]One-Way Roads 题目描述 In the country of Via, the cities are connected by roads that can be used in ...

  5. static及final知识点整理

    final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译 ...

  6. 2. Unconstrained Optimization(2th)

    2.1 Basic Results on the Existence of Optimizers 2.1. DefinitionLet $f:U->\mathbb{R}$ be a functi ...

  7. winfrom控件圆角

    刚好用到这个功能,看了好些例子.我就不明白,简单的一个事,一些文章里的代码写的那个长啊,还让人看么. 精简后,就其实一点,只要有paint事件的组件,都可画圆角,没有的外面套一个panel就行了. u ...

  8. smooth curve|population|sample

    Distribution Shapes 由直方图到 smooth curve   1.this distribution of heights is bell shaped(or mound shap ...

  9. Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6_10.3.x86_64

    在使用gdb调试时出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6_10.3.x86_64提示 解决 ...

  10. iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

    iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面Empt ...