html中的transform属性,css3的transform属性详解

transform变形属性(主要讨论2D)

css 3的transform属性可以修改css中可视化模型的坐标空间,元素通过transform属性进行移动(translate)、旋转(rotate)、缩放(scale)以及倾斜(skew)

注意:规范中有规定——如果元素的transform值不为none,则该元素会生成包含块的创建和层叠上下文

包含块的创建和层叠上下文会影响子元素的一些属性(这里我只是简单阐述一下概念,后期会更新一篇关于层叠上下文的文章): 举个例子——当一个元素所包含的子元素设置了 position:fixed;,而该元素的transform的值不为none时,那么该元素的子元素position:fixed;不再基于视口(viewport)进行定位,而是基于该元素进行定位,这就是涉及到层叠上下文了。

下面一起来看一下transform属性及其属性值:

首先语法:transform: < transform-function > [ < transform-function > ]* |none;属性值为none(默认)或者至少一个transform-function函数.

位移translate:

1、transform: translate(a,b);元素向x轴方向位移a的距离,向y轴的方向位移了

b的距离

transform:translate(10px,20px);

8b023088e4cf58fdf58f0b3314c189cf.png

a4532a537423bebabb9948a3a3f66725.png

当transform: translate(a);里只有一个值时,它是向x轴位移a的距离,

transform: translate(20px);

951dbf25e11cc15c3b65571971060e7f.png

687dbef8d5714eb5edeb7ee7609711d6.png

2、transform: translateX(a); | transform: translateY(a);

单独在x和y轴上进行位移a距离

transform: translateX(30%);

ba6b96b5a1cba249ecbaad72ab14a1a3.png

transform: translateY(4em);

b3bb12800711d24d92cf2cb69240daea.png

缩放scale

1、transform:scale(a,b);元素在x轴上缩放a倍,在y轴上缩放b倍(数值小于1为缩小,大于1为放大)

transform: scale(0.5,2);

620b9aa6dd642d191e6128b9b97a1607.png

当transform: scale( );里的两个数值相同时,可以简写成一个,即transform: scale(a,a);写成transform: scale(a);

transform: scale(0.5);

e8b09f37ad289e4d88cbd0e13d7c55e8.png

2、transform: scaleX(a); | transform: scaleY(a);元素单独在x轴和y轴上缩放

a倍。

transform:scaleX(0.7);

3224087a103bc634391298e36a5a975e.png

transform: scaleY(1.3);

7a851071b80d60002070db746c94de56.png

旋转rotatetransform: rotate(a)元素旋转的度数,一般单位为deg(角度),还有css 3中为我们新增加的角度属性:

grad梯度(100grad=90deg)

rad 弧度(一个圆有2π弧度,1.5707963rad=90deg)

turn 圈(一个圆就是一圈,0.25turn=90deg)

transform: rotate(60deg);

e5094f088ada0bc869785de1aef8a4c2.png

倾斜skew

1、transform: skew(a,b);元素在x轴倾斜a的角度,在y轴上倾斜b的角度,单位为deg

transform: skew(20deg,20deg);

588f0ac72fd91e7cc28fe4b22498cc96.png

transform: skew();只有一个值时,表示y轴方向上无倾斜,x轴方向倾斜。transform: skew(20deg);

0cd1d4d911376eb1f89b76330d50848d.png

2、transform: skewX(a) | transform: skewY(a)元素单独在x轴/y轴上进行倾斜a的角度

transform: skewX(30deg);

ba46d3c92b9ca2d640220055a24e9e09.png

transform: skewY(30deg);

b6dcce95bd815bf7a5439ae920b32a63.png

d267448a427c1c0d9a30d5ae27d8f537.gif

d1358d4695d8660de2972cc1f6e682b2.png

即明

发布了2 篇原创文章 · 获赞 0 · 访问量 122

私信

关注

标签:css3,scale,skew,元素,transform,详解,轴上,translate

来源: https://blog.csdn.net/m0_46384421/article/details/104597480

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值