css3中transform属性实现的4种功能


Posted in HTML / CSS onAugust 07, 2021

在CSS3中,可以利用transform功能实现文字或图像的旋转、缩放、倾斜、移动这4中类型的变形处理。

1、浏览器支持

到目前为止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上浏览器支持该属性。  

2、旋转

使用rotate方法,在参数中加入角度值,角度值后面跟表示角度单位的“deg”文字即可,旋转方向为顺时针方向。

transform:rotate(45deg);

3、缩放

使用scale方法来实现文字或图像的缩放处理,在参数中指定缩放倍率。

transform:scale(0.5);//缩小一半

(1)可以分别指定元素的水平方向的放大倍率与垂直方向的放大倍率

transform:scale(0.5,2);//水平方向缩小一半,垂直方向放大一倍。

4、倾斜

使用skew方法实现文字或图像的倾斜处理,在参数中分别指定水平方向上的倾斜角度与垂直方向上的倾斜角度。

transform:skew(30deg,30deg);//水平方向上倾斜30度,垂直方向上倾斜30度。

(1)只使用一个参数,省略另一个参数

这种情况下视为只在水平方向上进行倾斜,垂直方向上不倾斜。

transform:skew(30deg);

5、移动

使用translate方法来移动文字或图像,在参数中分别指定水平方向上的移动距离与垂直方向上的移动距离。

transform:translate(50px,50px);//水平方向上移动50px,垂直方向上移动50px

(1)只使用一个参数,省略另一个参数

这种情况下视为只在水平方向上移动,垂直方向上不移动。

transform:translate(50px);

6、对一个元素使用多种变形的方法  

transform:translate(150px,200px)rotate(45deg)scale(1.5);

7、指定变形的基准点

在使用transform方法进行文字或图像变形的时候,是以元素的中心点为基准点进行变形的。

transform-origin属性

使用该属性,可以改变变形的基准点。

transform:rotate(45deg);
transform-origin:leftbottom;//把基准点修改为元素的左下角

(1)指定属性值
基准点在元素水平方向上的位置:left、center、right
基准点在元素垂直方向上的位置:top、center、bottom

8、3D变形功能

(1)旋转

分别使用rotateX方法、rotateY方法、rotateZ方法使元素围绕X轴、Y轴、Z轴旋转,在参数中加入角度值,角度值后面跟表示角度单位的deg文字即可,旋转方向为顺时针旋转。

transform:rotateX(45deg);
transform:rotateY(45deg);
transform:rotateZ(45deg);
transform:rotateX(45deg)rotateY(45deg)rotateZ(45deg);
transform:scale(0.5)rotateY(45deg)rotateZ(45deg);

(2)缩放

分别使用scaleX方法、scaleY方法、scaleZ方法使元素按X轴、Y轴、Z轴进行缩放,在参数中指定缩放倍率。

transform:scaleX(0.5);
transform:scaleY(1);
transform:scaleZ(2);
transform:scaleX(0.5)scaleY(1);
transform:scale(0.5)rotateY(45deg);

(3)倾斜

分别使用skewX方法、skewY方法使元素在X轴、Y轴上进行顺时针方向倾斜(无skewZ方法),在参数中指定倾斜的角度

transform:skewX(45deg);
transform:skewY(45deg);

(4)移动

分别使用translateX方法、translateY方法、translateZ方法、使元素在X轴、Y轴、Z轴方向上进行移动,在参数中加入移动距离。

transform:translateX(50px);
transform:translateY(50px);
transform:translateZ(50px);

9、变形矩阵

每种变形方法的背后都存在着一个对应的矩阵。

(1)计算2D变形(3X3矩阵)

\begin{bmatrix}a&c&e\\b&d&f\\0&0&1\end{bmatrix}

可以将这个2D变形矩阵书写为matrim(a,b,c,d,e,f),a~f均代表一个数字,用于决定怎样执行变形处理。

(2)平移的2D矩阵

\begin{bmatrix}1&0&tx\\0&1&ty\\0&0&1\end{bmatrix}
//效果一致:右移150px,下移150px
transform:matrix(1,0,0,1,150,150);
transform:translate(150px,150px);

(3)计算3D变形

3D缩放变形使用的4X4矩阵

\begin{bmatrix}sx&0&0&0\\0&sy&0&0\\0&0&sz&0\\0&0&0&1\end{bmatrix}
transform:matrix3d(sx,0,0,0,0,sy,0,0,0,0,sz,0,0,0,0,1);
//效果一致:X轴方向上缩小五分之一,Y轴方向上缩小一半。
transform:scale3d(0.8,0.5,1);
transform:matrix3d(0.8,0,0,0,0,0.5,0,0,0,0,1,0,0,0,0,1);

(4)可通过矩阵执行多重变形处理

将需要的变形矩阵相乘得到一个新的变形矩阵可实现该处理。

到此这篇关于css3中transform属性实现的4种功能的文章就介绍到这了,更多相关css3中transform属性实现内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3弹性盒模型flex box快速入门心得(必看篇)
May 24 HTML / CSS
HTML5 canvas基本绘图之绘制线段
Jun 27 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
Sep 13 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
Jul 15 HTML / CSS
html5的websockets全双工通信详解学习示例
Feb 26 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
Nov 27 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
Dec 20 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
Feb 03 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
Feb 06 HTML / CSS
5个HTML5的常用本地存储方式详解与介绍
Mar 27 HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 #HTML / CSS
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
Aug 07 #HTML / CSS
CSS 实现Chrome标签栏的技巧
纯html+css实现Element loading效果
纯html+css实现奥运五环的示例代码
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 #HTML / CSS
CSS实现两列布局的N种方法
Aug 02 #HTML / CSS
You might like
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
破解Session cookie的方法
2006/07/28 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python模块搜索路径代码详解
2018/01/29 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
pytorch 求网络模型参数实例
2019/12/30 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
软件工程专业推荐信
2013/10/28 职场文书
女大学生个人求职信
2013/12/09 职场文书
学校采购员岗位职责
2014/01/02 职场文书
会员卡清退活动总结
2014/08/27 职场文书
个人收入证明模板
2014/09/18 职场文书
公司聚餐通知
2015/04/22 职场文书