css3 矩阵的使用详解


Posted in HTML / CSS onMarch 20, 2018

css3 矩阵变化. 应用格式为:

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

对应于就是:

css3 矩阵的使用详解

实际应用中的转换就是:

css3 矩阵的使用详解

其中:

ax+cy+e = 横坐标

bx+dy+f = 纵坐标

为什么会多出 0 0 1呢? 因为, 为了凑参数.

translate 矩阵

基本格式为:

transform: matrix(1, 0, 0, 1, X, Y); // X 横向平移, Y 纵向平移

scale 矩阵

scale(缩放) 的矩阵也挺简单.

// 将 X 轴缩放 A 倍
// 将 Y 轴缩放 B 倍
matrix(A, 0, 0, B, 0,0);

当然, 如果你在最后两位写上数字, 代表着, 先缩放再平移.

// 得到: X 轴 = 0.3*x + 100
// 得到: Y 轴 = 0.2*x + 200
matrix(0.3,0,0,0.2,100,200);

rotate 矩阵

rotate 实际上和三角函数有很大的关系. 首先,确定你的旋转角(顺时针旋转). 然后, 计算 sinθ 和 cosθ. 最后的矩阵公式为:

matrix(cosθ,sinθ,-sinθ,cosθ,0,0) // 就是 cs-sc

skew 矩阵

skew(拉伸) 矩阵也是三角函数, 不过, 用到的是tanθ. 格式为:

// 将 Y 轴向 X 轴倾斜 A°
// 将 X 轴向 Y 轴倾斜 B°
matrix(1,tan(A),tan(B),1,0,0)

3D变换矩阵

3D 变换是 4*4 的矩阵. 他和 2D 类似,只是, 多出一个Z。 // 这是缩放的3D矩阵

css3 矩阵的使用详解 

对应的 css 写法为:

transform: matrix3d(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
Mar 17 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
CSS3 input框的实现代码类似Google登录的动画效果
Aug 04 HTML / CSS
html5新增的属性和废除的属性简要概述
Feb 20 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
Oct 26 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
canvas绘制圆角头像的实现方法
Jan 17 HTML / CSS
HTML5中外部浏览器唤起微信分享
Jan 02 HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 HTML / CSS
Canvas 帧动画吃苹果小游戏
Aug 05 HTML / CSS
CSS 实现磨砂玻璃(毛玻璃)效果样式
May 21 HTML / CSS
CSS3 :default伪类选择器使用简介
Mar 15 #HTML / CSS
css3编写浏览器背景渐变背景色的方法
Mar 05 #HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 #HTML / CSS
CSS3 @keyframes简单动画实现
Feb 24 #HTML / CSS
css3 实现圆形旋转倒计时
Feb 24 #HTML / CSS
css3 仿写阿里云水纹效果的示例代码
Feb 10 #HTML / CSS
纯css3使用vw和vh实现自适应的方法
Feb 09 #HTML / CSS
You might like
关于php fread()使用技巧
2010/01/22 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
详解python3实现的web端json通信协议
2016/12/29 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
2015届本科毕业生自我鉴定
2014/09/27 职场文书
学历证明样本
2015/06/16 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL