自学前端第二十一天:transform2D变形 和 transition过渡

本文详细介绍了CSS3的transform属性,包括2D变换如translate、rotate、scale和skew,强调transform对行内元素无效,对定位元素的影响,以及rotate在不同轴上的效果。同时,探讨了transition在时间上的支持,如何实现平滑过渡效果,以及如何与其他属性如height配合使用,创造出丰富的动态效果。
摘要由CSDN通过智能技术生成

transform总结:

①[transform对行内元素无效,对行内块元素或者块元素才有作用.(注意因此伪元素)①transform:让盒子在空间上有行为 , transition让盒子在时间上有长度.
②transform的位移translateXY 和旋转rotate(30deg)使用在定位父级盒子上,则也是真的位移了,也会影响子元素绝对定位的开始定位的地方地方(也跟着父盒子transform后的位移位置开始绝对定位);
③transform rotateX,Y,Z旋转到90度时是看不见线条的,无限接近于0
④transform rotateXYZ一起时是要按顺序一面一面去跟着先X,Y,最后联动Z旋转的

在这里插入图片描述

⑤transform rotateXYZ遵循左手准则, PS:X正整体往后躺下转,Y正整体往右转,Z正整体往右转
(其实Z轴为什么和2Drotate转的一样,因为z轴看不到,因为只能是z轴带着XY轴平面一起转,上面z轴正值,是你可以是看成是Z轴插在XY平面上整体往右转动的.)
⑥transform经常是跟着hover和box-shadow一起用的
⑦transform巨小细节PS1:海牙老师也是吃亏吃多了,建议ranslate前rotate后,然后先调好旋转角度,再去平移
transform书写中如果:

1.把translate放前面,rotate放后面,则translate平移不会跟着rotate旋转的角度去走,而是还是X正值往下走,Y正值往右走,(这种是常用的,看需求把)

2.而当把rotate放前面,translate放后面, 则translate平移很神奇会跟着rotate旋转的角度方向上下左右去走,

3.学会这种先给1 1 1的写法,然后进浏览器慢慢调整哦,CSS3就是这样的特效要花很多精力的

⑧transform巨小细节PS2::

使用before和after影分身,原标签的translate平移和rotate旋转角度一起带给影分身的,

无需再写位移和角度, 直接拿着原标签给你的带好平移和角度再去微微修改影分身的transform即可 , 因此前后影分身在此基础上微调即可了 因此这里你可以直接transform就完全覆盖了上面的transform就好了,前面的transform原标签已经带好给你

一.CSS3 transform 2D变幻

[transform: 平移(translate) +旋转(rotate)+ 缩放(scale)+ 倾斜(skew)]

1.属性定义及使用说明

Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。
PS:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0NzmUwsI-1619713274662)(C:\Users\tuyue\AppData\Local\Temp\1613144259636.png)]

即:transform就算是内部不同的子属性,也依然后面会覆盖前面的,因此只能一起带上写,才会生效,分开写就覆盖了前面的东西.

2.先了解transform全部属性语法

transform: none|transform-functions;

描述
none 默认值定义不进行转换。
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate平移:
translate(x,y) 定义 2D 转换。
translate3d(x,y,z) 定义 3D 转换。
translateX(x) 定义转换,只是用 X 轴的值。
translateY(y) 定义转换,只是用 Y 轴的值。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
scale缩放:
scale(x[,y]?) 定义 2D 缩放转换。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
rotate旋转:
rotate(angle) 定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。
skew倾斜:
skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。
perspective(n) 为 3D 转换元素定义透视视图。

3.transform-Origin属性允许您更改转换元素的位置。

2D转换元素可以改变元素的X和Y轴。 3D转换元素,还可以更改元素的Z轴。

为了更好地理解Transform-Origin属性,请查看这个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值