浅谈CSS3 Matrix 的使用

栏目: CSS3 · 发布时间: 6年前

内容简介:CSS3的光是看这名词好像有点吓人,仿佛又回想起当初被数学支配的恐惧。的确,相比那些
浅谈CSS3 Matrix 的使用

CSS3的 transform 里有一个方法叫做 Matrix ,该需要六个参数,可以使用数学函数让元素进行旋转、缩放、移动以及倾斜元素。

光是看这名词好像有点吓人,仿佛又回想起当初被数学支配的恐惧。的确,相比那些 translate(25deg) 之类有着明确语义跟容易调用方法外, Matrix 使用起来确实有些复杂~

Matrix 的参数分别有a, b, c, d, e, f六个参数,我们可以分别对应:

transform: matrix(X轴的缩放, X轴拉升, Y轴的拉伸, Y轴的缩放, X轴的位移, Y轴的位移);

这样看上去好像好多了,我们常使用的几个方法也是可以通过Matrix来实现:

元素默认情况下的表现可以用 Matrix 来表示为: matrix(1, 0, 0, 1, 0, 0) ;

通过上面的例子,我们很容易推测出缩放的公式为: translate(sx, sy) 等于 matrix(sx, 0, 0, sy, 0, 0) ;

位移就更简单啦: translate(tx, ty) 等于 matrix(1, 0, 0, 1, tx, ty) ;

拉升则是: skew(degx, degy) 等于 matrix(1, tan(degx), tan(degy), 1, 0, 0)

旋转没有提供相应的参数,他需要套用数学的公式,毕竟这个方法名就是 矩阵 嘛: rotate(deg) 等于 matrix(cos(deg),sin(deg), -sin(deg), cos(deg), 0, 0)

那问题来了,为啥有简单易用的方法不用,我们非要搞这么麻烦的东西呢?这是因为很多时候我们需要高度精确定制动画时,那些简单的方法以及不能满足我们的需求啦~


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

App研发录:架构设计、Crash分析和竞品技术分析

App研发录:架构设计、Crash分析和竞品技术分析

包建强 / 机械工业出版社 / 2015-10-21 / CNY 59.00

本书是作者多年App开发的经验总结,从App架构的角度,重点总结了Android应用开发中常见的实用技巧和疑难问题解决方法,为打造高质量App提供有价值的实践指导,迅速提升应用开发能力和解决疑难问题的能力。本书涉及的问题有:Android基础建设、网络底层框架设计、缓存、网络流量优化、制定编程规范、模块化拆分、Crash异常的捕获与分析、持续集成、代码混淆、App竞品技术分析、项目管理和团队建设等......一起来看看 《App研发录:架构设计、Crash分析和竞品技术分析》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具