css Matrix属性详解

简介: css Matrix属性详解

Css中的transform是我们在进行动画效果制作和图形变化常用的属性,transform中的scale支持缩放,translate支持位移,rotate支持旋转……

      但是为了方便使用,有这么一个属性,其中有6个参数,可以同时进行旋转,位移,缩放和倾斜。

      Matrix初始值为

      transform: matrix(1,0,0,1,0,0);

      转换为数学中的矩阵为

                                         1 0 0

                                         0 1 0      

                                         0 0 1

      可以这么理解:

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

                                         a c e

                                         b d f      

                                         0 0 1

      数学的矩阵中多出来的最后3个默认为001,我们只需要操作前6个即可

 

      平移:

      那么如何通过这个属性来平移?

      即修改参数e和参数f来实现,e对应x轴,f对应y轴;

       这里创建的div默认在html的左上角

535dfd6e7a7b732f2a70a8d225aab7be.png

我们通过修改matrix的参数来实现位移:

dc79d38218ebb3e29971b06fc84e121b.png

我们修改了e和f所对应的值

f385ab57ae81ab9b771b7f76cf7078da.png

图形x轴和y轴都位移了100px

效果和如下图代码相同:

56ac809749a22c0c7041a7681874fb7c.png

缩放:

缩放只需要修改a和d的值,a对应缩放x轴,d对应缩放y轴

修改的数值即为原来的n倍

x轴不变,y轴放大到原来的两倍

6e042750a966006e7371b8ab162e933f.png

旋转:

旋转要稍微复杂一点,默认的角度所对应的:

transform: matrix(cos 0,sin0,-sin0,cos0,0,0);

我们想要将这个元素顺时针旋转45度,只要算出对应的cos45,sin45即可

Sin45=0.707,cos45 = 0.707;

效果如下:

45bca4f604fcc506b12962f123bb21d6.png


相关文章
|
16天前
|
前端开发
CSS中的边框属性:border、border-width、border-color、border-style 详解
CSS中的边框属性:border、border-width、border-color、border-style 详解
119 44
|
16天前
|
前端开发
CSS中的display属性:布局控制的关键
CSS中的display属性:布局控制的关键
121 42
|
16天前
|
前端开发 开发者
CSS列表属性:list-style系列属性详解
CSS列表属性:list-style系列属性详解
116 40
|
13天前
|
前端开发 容器
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
14 3
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
|
13天前
|
Web App开发 前端开发 JavaScript
css【详解】—— content属性(含css计数器)
css【详解】—— content属性(含css计数器)
8 3
|
13天前
|
前端开发
css 实用技巧 —— 使用border属性绘图(三角形、梯形、对话框尖角)
css 实用技巧 —— 使用border属性绘图(三角形、梯形、对话框尖角)
12 1
|
13天前
|
前端开发 容器
css【详解】—— margin属性(含margin百分比值,margin负值,margin合并,margin:auto,margin失效)
css【详解】—— margin属性(含margin百分比值,margin负值,margin合并,margin:auto,margin失效)
12 1
|
16天前
|
前端开发 搜索推荐 UED
探索CSS中的cursor鼠标属性
探索CSS中的cursor鼠标属性
14 5
|
16天前
|
前端开发 JavaScript
使用JavaScript动态更改元素的CSS属性
【6月更文挑战第29天】使用JavaScript动态更改元素的CSS属性
24 3
|
23天前
|
前端开发 容器
CSS3 新增背景属性 + 新增边框属性(如果想知道CSS3新增背景属性和新增边框属性的知识点,那么只看这一篇就够了!)
CSS3 新增背景属性 + 新增边框属性(如果想知道CSS3新增背景属性和新增边框属性的知识点,那么只看这一篇就够了!)