美文网首页
CSS动画2D

CSS动画2D

作者: Victor细节 | 来源:发表于2017-01-09 22:10 被阅读0次

2D 转换

首先要了解2D-transform的坐标系统

设置旋转中心点
transform-origin:bottom center

Paste_Image.png
  • translate()--平移

根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
transform: translate(50px,100px);

  • rotate()--旋转

rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
transform: rotate(30deg);

  • scale()--缩放

scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数;
transform: scale(2,3);

  • skew()--倾斜

语法
transform:skew(<angle> ,<angle>);
包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。

  • skewX(<angle>);表示只在X轴(水平方向)倾斜。
  • skewY(<angle>);表示只在Y轴(垂直方向)倾斜。
  • matrix()

matrix()方法和2D变换方法合并成一个。
matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

重头戏来了

transform: matrix(a,b,c,d,e,f);

实际上,这6参数,对应的矩阵就是:


Paste_Image.png

转换公式:

Paste_Image.png

matrix的偏移
transform: matrix(1, 0, 0, 1, 30, 30); /* a=1, b=0, c=0, d=1, e=30, f=30 */

假设矩阵中心点为(x,y)=(0,0),变换后:

x坐标就是ax+cy+e = 10+00+30 =30
y坐标就是bx+dy+f = 00+10+30 =30

也就是说偏移只与后面两个参数有关
注意:这里面e,f参数的单位可以省略

matrix中的缩放
transform: matrix(s, 0, 0, s, 0, 0);

x' = ax+cy+e = sx+0y+0 = sx;
y' = bx+dy+f = 0
x+sy+0 = sy;

matrix中的旋转
transform: matrix(cosθ,sinθ,-sinθ,cosθ,0,0)

x' = xcosθ-ysinθ+0 = xcosθ-ysinθ
y' = xsinθ+ycosθ+0 = xsinθ+ycosθ

matrix中的拉伸

matrix(1,tan(θy),tan(θx),1,0,0)

x' = x+ytan(θx)+0 = x+ytan(θx)
y' = xtan(θy)+y+0 = xtan(θy)+y

了解更多

相关文章

  • css动画

    css3动画 过渡:transition 2D 转换 transform 3D 转换 transform 动画:a...

  • CSS3动画

    CSS3之2D/3D动画 2D的变换3D的变换动画 2D动画的变换 基本说明 注意:一般要写不同浏览器的适配 移动...

  • 动画使用库,总结

    导航过渡、动画和转换(2D/3D)【relative】、渐变html元素隐藏的几种方式与动画 一、用到的css动画...

  • 6_动画_其他属性

    2D、3D变形动画 transform:2D变形:复合属性 通过 CSS3 转换,我们能够对元素进行移动、缩放、转...

  • 全面梳理 CSS3 动画

    前言 主要内容:CSS3 动画有那些属性?动画怎么实现,几种方法?javaScript 与它优缺点? 目录 2D ...

  • CSS动画2D

    2D 转换 首先要了解2D-transform的坐标系统 设置旋转中心点transform-origin:bott...

  • CSS3过渡和动画

    CSS3过渡和动画 1、CSS3 2D变化: translate()方法: 根据左(X轴)和顶部(Y轴)位置给定的...

  • css3变化,动画

    css3可以实现一些动画过渡之类的。先来研究下api 2D变化 css3提供可以更改元素的css方法,我们可以移动...

  • CSS(二)

    css3动画 2D,3D转换方法 translate()向x,y轴移动 rotate()旋转180度 scale(...

  • 第九天

    css动画函数matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。translate(x,...

网友评论

      本文标题:CSS动画2D

      本文链接:https://www.haomeiwen.com/subject/fkihbttx.html