matrix()方法与translate()、scale()、rotate()、skew()方法的关系
2D变换方法translate()、scale()、rotate()、skew()与matrix()的关系举例介绍。
一、介绍
2D变换方法:
- translate():根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
- rotate():在一个给定度数顺时针旋转元素。负值是允许的,这样是元素逆时针旋转。(绕着中心点旋转)
- scale():元素按比例缩放,比例取决于宽度(X轴)和高度(Y轴)的参数。(缩放功能与中心点的位置有关)
- skew():X轴和Y轴倾斜一定角度。
matrix():2D变换方法合并成一个。有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。
CSS3 transform 的 matrix() 方法如下:
transform: matrix(a,b,c,d,e,f);
二、关系与举例
1、matrix()与translate()偏移功能
matrix(a,b,c,d,e,f)实现偏移,只由e、f这两个参数决定。
参数e决定水平偏移量,f决定垂直偏移量。
eg:
transform: matrix(1, 0, 0, 1, , )
就等同于
transform: translate(30px, 30px)
即:向右偏移30px的同时向下偏移30px
2、matrix()与scale()缩放功能
matrix(a,b,c,d,e,f)实现偏移,只由a、d这两个参数决定。
参数a决定水平缩放量,d决定垂直缩放量。即:X轴(宽度)缩放a倍,Y轴(高度)缩放d倍。
eg:
transform: matrix(, 0, 0, , 0, 0)就等同于
transform: scale(2, 3)
即:元素宽度变为原来的2倍,高度变为原来的3倍
3、matrix()与rotate()旋转功能
matrix(a,b,c,d,e,f)实现旋转(假设角度为θ),对应方法如下:
matrix(cosθ,sinθ,-sinθ,cosθ,0,0)
eg:
transform: matrix(0.866025,0.500000,-0.500000,0.866025,0,0)就等同于transform:rotate(30deg)
即:以中心点为旋转点,顺时针旋转30度
4、matrix()与skew()倾斜功能
matrix(a,b,c,d,e,f)实现倾斜,与b、c两个参数有关。
b决定Y轴倾斜程度,c决定X轴倾斜程度,对应方法如下:
matrix(1,tan(θy),tan(θx),1,0,0)
eg:
matrix(1, 2.237161, 2.237161,1,0,0)就等同于transform:skew(20deg,20deg)
即:元素在X轴上倾斜20度和Y轴上倾斜20度。
matrix()方法与translate()、scale()、rotate()、skew()方法的关系的更多相关文章
- CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)
CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate) 在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...
- CSS3 transform 属性详解(skew, rotate, translate, scale)
写这篇文章是因为在一个前端QQ群里,网友 "小豆豆" (应他要求要出现他的网名......) ,问skew的角度怎么算,因为他看了很多文章还是不能理解skew的原理.于是,我觉得有 ...
- CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)(转载)
在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形处理,本文将对此做详细介绍. 一.旋转 rotate 用法:transform: rotate(45 ...
- CSS动画:Transform中使用频繁的scale,rotate,translate动画
动画中,skew只是transform中的一种形式的动画,我们还可以学习scale,rotate,translate.这是目前使用比较频繁的属性动作. 1.scale动画的定义:(单位数值) scal ...
- 转:自定义控件三部曲之动画篇——alpha、scale、translate、rotate、set的xml属性及用法
第一篇: 一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resour ...
- Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources&g ...
- [转]Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
转载:http://blog.csdn.net/harvic880925/article/details/39996643 前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的 ...
- android.view.animation(1) - alpha、scale、translate、rotate、set的xml属性和用法(转)
一.ScaleAnimation ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, floa ...
- 自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法
前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的心态,想用你的app,却是因为你的技术问题,让他们不得不放弃,而你一个回访电话却让他们尽释前嫌,当最后把手机号留给他们以便随 ...
随机推荐
- getElementById和querySelector方法的区别
"querySelector 属于 W3C 中的 Selectors API 规范 .而 getElementsBy 系列则属于 W3C 的 DOM 规范" 1.区别 getXXX ...
- POJ 1207 3N+1 Problem
更简单的水题,穷举法即可. 需要注意的点: 1.i 和 j的大小关系不确定,即有可能 i>j 2.即使i>j,最后输出的结果也要严格按照输出,亦即如果输入10,1,则对应输出也应为 10 ...
- 关于MyEclipse修改项目名称后,部署到tomcat显示旧的项目名称
问题:用Myeclipse部署项目的时候, 出现部署到tomcat下的项目是之前的项目,而不是当前的项目. 解决方案:工程名->右键->Properties->MyEcl ...
- PHPCMS v9点击量增加值加大的方法
PHPCMS v9点击量增加值加大的方法 在根目录/api 50行 $views = $r['views'] + 1; 修改数字1即可修改每次刷新页面点击量增加的数值.
- [Apio2012]dispatching
[Apio2012]dispatching 时间限制: 1 Sec 内存限制: 128 MB 题目描述 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿.在这个帮派里,有一 ...
- 【笔记】记一次.net语法await和async的异步编程实验与笔记。
1.实践代码全记录: using System; using System.Collections.Generic; using System.Diagnostics; using System.Li ...
- laravel中间件使用
1.在app/Http/Kernel.php文件中配置中间件文件,例如: protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Mi ...
- Android端恶意锁屏勒索应用分析
一.前言 5月12日,一场全球性互联网灾难悄然而至,一款名为WannaCRY的PC端恶意勒索软件利用NSA泄漏的危险漏洞“永恒之蓝”,给100多个国家和地区10万台电脑造成了巨大的损失.到2017年为 ...
- Vijos 1006 晴天小猪历险记之Hill 单源单汇最短路
背景 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结-- 不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物.所以晴天小猪自告奋勇 ...
- Vijos 1033 整数分解(版本2)
描述 整数分解(版本2) 一个正整数可以分解成若干个自然数之和.请你编一个程序,对于给出的一个正整数n(1<=n<=1500),求出满足要求的分解方案,并使这些自然数的乘积m达到最大. 例 ...