CSS Transform完全指南 #flight.Archives007
Title/ CSS Transform完全指南 #flight.Archives007
序: 第7天了! 终身学习, 坚持创作, 为生活埋下微小的信仰. 我是
忘我思考,共同进步!简介: 一篇最简约高效的CSS Transform教程.
Tag/ Transform介绍
CSS的 transform 可以让元素产生变形效果,比如旋转,缩放,倾斜或平移
element {
transform: scale(0.5) translate(10px, 10px); /*`transform` 支持同时指定多个函数.*/
}
上面代码中 element 会缩放一半大小, 同时向右和向下各平移 10px.
接下来逐一介绍现支持的所有 Transform 函数.
Tag/ Transform 函数介绍
Matrix(矩阵计算)相关函数
matrix3d(a1, b1, c1, d1, a2, b2, c2, d2, a3, b3, c3, d3, a4, b4, c4, d4)这个函数涉及高等数学知识, 矩阵变换, 使用非常复杂 ,随后介绍的
rotate,scale,skew,translate函数都是基于这个matrix函数实现的但是在实战中直接使用这个函数的情况不大, 多数是间接使用基于该方法实现的函数, 所以本文不详细介绍该方法.
就像Canvas中的
webgl, 在实战中一般都是使用基于webgl实现的JS库, 如three.js关于
matrix矩阵的详细内容可以参见 https://www.zhangxinxu.com/wordpress/2012/06/css3-transform-matrix-矩阵/matrix(a, b, c, d, tx, ty)这个函数是
matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1)的简写形式.
Perspective(透视深度)相关函数
perspective(l)l:<length>, 表示透视深度, 在值为正数时生效
Rotate(旋转)相关函数
rotate3d(x, y, z, a)x,y,z,a:<angle>, 横坐标, 纵坐标, Z坐标 和 顺时针旋转的角度rotate(a)a:<angle>, 表示顺时针旋转的角度rotateX(a)a:<angle>, 表示横坐标旋转的角度rotateY(a)a:<angle>, 表示纵坐标旋转的角度rotateZ(a)a:<angle>, 表示Z坐标旋转的角度
Scale(缩放)相关函数
scale3d(sx, sy, sz)sx,sy,sz:<percentage>, 在X轴, Y轴, Z轴上的缩放大小.参数取值为
1时不进行缩放处理, 在[0~1]区间按比例缩小, 在[>1]时按比例放大.参数取负值时元素将沿原点中心翻转.
scale(sx, [sy])sx,sy(可选):<percentage>, 在X轴, Y轴上的缩放大小.scaleX(s)s:<percentage>, 在X轴上的缩放大小.scaleY(s)s:<percentage>, 在Y轴上的缩放大小.scaleZ(s)s:<percentage>, 在Z轴上的缩放大小.
Skew(倾斜)相关函数
skew(ax, [ay])ax,ay(可选):<angle>, 元素沿X轴和Y轴倾斜的角度skewX(a)a:<angle>, 元素沿X轴倾斜的角度skewY(a)a:<angle>, 元素沿Y轴倾斜的角度
Translate(平移)相关函数
备注: translate 是一个CSS属性, 可以单独使用, 用法与函数一致.
translate3d(tx, ty, tz)tx,ty,tz:<length>, 元素沿X轴,Y轴和Z轴平移的距离.translate(tx, [ty])tx,ty(可选):<length>, 元素沿X轴和Y轴平移的距离.translateX(t)t:<length>, 元素沿X轴平移的距离.translateY(t)t:<length>, 元素沿Y轴平移的距离.translateZ(t)t:<length>, 元素沿Z轴平移的距离.
Tag/ transform-origin 属性介绍
transform-origin 属性可以更改元素变形的原点, 默认值为 center
可取值:
transform-origin: 2px; /*如果只有一个值, 则表示原点的横坐标*/
transform-origin: 2px 2em; /*如果有两个值, 则分别表示原点的横坐标和纵坐标*/
transform-origin: left top; /*可以使用关键字: left, center, right, top 或 bottom*/
transform-origin: top right; /*如果两个值都是关键字, 则可以先纵坐标, 后横坐标*/
transform-origin: 20px left; /*这是错误的表示. 如果关键字和长度单位同时使用, 不可以都表示纵坐标或横坐标*/
transform-origin: 2px 10% 20px; /*如果有三个值, 则前两个值用法不变, 第三个值表示原点的深度(Z坐标)*/
->> Reference link
MDN中文文档 https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform
MDN 英文文档 https://developer.mozilla.org/en-US/docs/Web/CSS/transform
transform-origin属性介绍 https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform-originCSS-Tricks https://css-tricks.com/almanac/properties/t/transform/
->> Version History
现在版本为V1.0, 下一版预计添加两处(函数和transform-origin) flight.Playground 以便互动式理解
详见 Github(@flightmakers)
2021.8.17 在掘金发布V0.1
2021.8.18 补全内容. 发布V1.0
CSS Transform完全指南 #flight.Archives007的更多相关文章
- CSS Transform完全指南(第二版) #flight.Archives007
Title/ CSS Transform完全指南(第二版) #flight.Archives007 序: 第7天了! 终身学习, 坚持创作, 为生活埋下微小的信仰. 我是忘我思考,共同进步! 简介: ...
- CSS Flex布局完全指南 #flight.Archives002
Title/CSS Flex布局完全指南 #flight.Archives002 序(from Ruanyf) : 网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模 ...
- CSS Grid 布局(Grid Layout)完全指南 #flight.Archives003
Title/ CSS Grid 布局(Grid Layout)完全指南 #flight.Archives003 序 : 写完这篇文章后,我准备一直做下去了,包括flight的各个分区,也看到前方的路. ...
- CSS居中完全指南——构建CSS居中决策树
CSS居中完全指南--构建CSS居中决策树 本文总结CSS居中,包括水平居中和垂直居中.本文相当于CSS决策树,下次再遇到CSS居中问题时有章可循. 参考Centering in CSS: A Com ...
- CSS 动画一站式指南
CSS 动画一站式指南 目录 CSS 动画一站式指南 1. CSS 动画 1.1 变换 1.1.1 变换属性介绍 1.1.2 变换动画实践 1.2 过渡 1.2.1 过渡属性介绍 1.2.2 过渡动画 ...
- No.3 - CSS transition 和 CSS transform 配合制作动画
课程概述 作业提交截止时间:09-01 任务目的 深度理解掌握 transition-timing-function 以及它的意义 学会配合使用 CSS transform 和CSS transiti ...
- CSS Transform / Transition / Animation 属性的区别
back21 Jun 2011 Category: tech Tags: css 最近想UI的动画转到css3能吃进3d加速的属性上面来以加强动画的连贯性.只是对于css几个新加的属性不太熟悉,常常容 ...
- HTML 5与CSS 3权威指南(第2版·上册) 中文pdf扫描版
HTML5与CSS3权威指南(第2版·上册)已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之 ...
- Html CSS transform matrix3d 3D转场特效
Html CSS transform matrix3d 3D转场特效 透视矩阵 2n/(r-l) 0 (r+l)/(r-l) 0 0 2n/(t-b) (t+b)/(t-b) 0 0 0 (n+f)/ ...
随机推荐
- Java程序设计(2021春)——第一章课后题(选择题+编程题)答案与详解
Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程 ...
- 关于HTML的常用标签
目录 前言 html常用标签 排版标签 图像标签 链接标签 注释标签 预格式化文本pre标签&特殊字符 语义化标签 前言 本文主要是对html的常用标签一个总结归纳,对所学的内容做一个查漏补缺 ...
- MinIO关闭公开桶的列表展示(S3 browser)
MinIO通过配置桶策略关闭列表展示,以下为操作教程. 下载:s3browser官网 安装完成S3 browser后,添加账号 修改桶policy,选择桶public右键 删除 s3:ListBuck ...
- springcloud gateway(hystrix filter)
参考 https://blog.csdn.net/forezp/article/details/83792388 1.依赖pom.xml <project xmlns="http:// ...
- 最常见的安全漏洞– Acunetix Web应用程序漏洞报告2021
每年,Acunetix都会为您提供最常见的Web安全漏洞和网络外围漏洞的分析.我们的年度Web应用程序漏洞报告(现已成为Invicti AppSec指标的一部分)是基于从Acunetix在线获得的真实 ...
- 第16章 pyinstaller库的使用
pyinstaller库概述 将.py源代码,转换成无需源代码的可执行文件 .py文件通过pyinstaller转换成windows.linux以及mac的可执行文件 pyinstaller库是第三方 ...
- WPF教程十一:简单了解并使用控件模板
WPF教程十一:简单了解并使用控件模板 这一章梳理控件模板,每个WPF控件都设计成无外观的,但是行为设计上是不允许改变的,比如使用Button的控件时,按钮提供了能被点击的内容,那么自由的改变控件外观 ...
- PHPCMSV9版本代码审计学习
学习代码审计,自己简单记录一下.如有错误望师傅斧正. PHPCMS预备知识 PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块 ...
- C语言:文本文件和二进制文件
学习了 fopen() 函数后,我们知道它的第二个参数是一个字符串,用来表示文件打开方式.如果字符串中出现b,则表示以二进制方式打开文件:如果字符串中出现t,或者两者都不出现,则表示以文本方式打开文件 ...
- P5471- K-D tree优化建图-弹跳
P5471- K-D tree优化建图-弹跳 优化建图是一种思想. 题意 有\(n\)个城市分布在小鸟岛上,有\(m\)个弹弓分布在这些城市里.因为弹弓体积大,固定麻烦,所以每个弹弓只能把小鸟弹飞到一 ...