400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > web前端 > 【Web前端基础知识】CSS3如何实现2D变换

【Web前端基础知识】CSS3如何实现2D变换

  • 发布: Web前端培训
  • 来源:Web前端干货资料
  • 2020-01-03 18:44:27
  • 阅读()
  • 分享
  • 手机端入口

CSS2D transform 表示2D变换,目前获得了各主流浏览器的支持,是CSS3中具有强大的特征之一,可以实现元素的位移、旋转、倾斜、缩放,甚至支持矩阵方式,可以取代大量之前只能靠Flash才可以实现的效果。

transform的属性包括:rotate() / skew() / scale() / translate(,) ,分别还有x、y之分,比如:rotateX() 和 rotateY()

1、translate()

将元素向指定的方向移动,类似于position中的relative。

水平移动:向右移动translate(tx,0)和向左移动translate(-tx,0);

垂直移动:向上移动translate(0,-ty)和向下移动translate(0,ty);

对角移动:右下角移动translate(tx,ty)、右上角移动translate(tx,-ty)、左上角移动translate(-tx,-ty)和左下角移动translate(-tx,ty)。

translateX():水平方向移动一个对象。对像只向X轴进行移动,如果值为正值,对像向右移动;如果值为负值,对像向左移动。translateY():纵轴方向移动一个对象。对象只向Y轴进行移动,如果值为正值,对象向下移动;如果值为负值,对像向上移动。

这两个函数和前面介绍的translate()函数不同的是每个方法只接受一个值。

所以

transform:translate(-100px,0)实际上等于transform:translateX(-100px);

transform:translate(0,-100px)实际上等于transform:translateY(-100px)。

2、scale()

让元素根据中心原点对对象进行缩放。默认的值1。因此0.01到0.99之间的任何值,使一个元素缩小;而任何大于或等于1.01的值,让元素显得更大。

缩放scale()函数和translate()函数的语法非常相似,他可以接受一个值,也可以同时接受两个值,如果只有一个值时,其第二个值默认与第一个值相等。

例如,

scale(1,1)元素不会有任何变化,而scale(2,2)让元素沿X轴和Y轴放大两倍。

scaleX():相当于scale(sx,1)。表示元素只在X轴(水平方向)缩放元素,其默认值是1。

scaleY():相当于scale(1,sy)。表示元素只在Y轴(纵横方向)缩放元素,其默认值是1。

3、rotate()

旋转rotate()函数通过指定的角度参数对元素根据对象原点指定一个2D旋转。它主要在二维空间内进行操作,接受一个角度值,用来指定旋转的幅度。如果这个值为正值,元素相对原点中心顺时针旋转;如果这个值为负值,元素相对原点中心逆时针旋转。单位deg。

rotate()方法, 元素旋转角度

rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转

rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转

4、skew()

倾斜skew()函数能够让元素倾斜显示。它可以将一个对象以其中心位置围绕着X轴和Y轴按照一定的角度倾斜。单位deg。

skew()

skewX()

skewY()

一个参数时:表示水平方向的倾斜角度;

两个参数时:第一个参数表示水平方向的倾斜角度,第二个参数表示垂直方向的倾斜角度

transform-origin

transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作用;

因为我们元素默认基点就是其中心位置,换句话说我们没有使用transform-origin改变元素基点位置的情况下,transform进行的rotate,translate,scale,skew等操作都是以元素自己中心位置进行变化的。

 

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方微信

扫描上方二维码或者手动搜索ujiuye,关注【优就业】,每日推送行业资讯、干货资料、热门话题、招聘信息和求职攻略,还有不定期的优惠活动一手发布!

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

相关推荐

优就业:ujiuye

关注中公优就业官方微信

  • 精品好课
  • 活动秒杀
  • 资料领取
QQ交流群
领取免费网课
(加群备注“网站”)
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
嵌入式物联网 加入群聊 +
优就业官方微信
扫码关注
领取免费学习资料

趁年轻 学门技术充个电
0元
入学
30天免费试学, 3000
直减优惠
立即
抢占
2周
特训
价值299的特训营课程,
9.9元抢购
立即
抢购
80G
资源包
IT行业11类热门岗位全套资源包
立即
领取
课程资料、活动优惠 领取通道