JS
代码,要想实现元素从A状态变成B状态,并且中间的过程可以被观察到,那么就可以使用css
中的过渡属性:transition
transition
属性是一个复合属性
,类似于基础班的background
、border
等transition属性值介绍
all
,对所有属性生效必须设置
:因为默认值为0,没有动画transition-timing-function速度曲线
细节注意点:
horver
中设置transition
属性,那么只有鼠标移入才有动画,移出没有动画,
隔开transition: width 2s , height 2s 2s;
属性名:属性值;
transform也是一个复合属性,可以同时设置多个值
transform: translate()
transform: rotate()
transform:scale()
transform:skew()
perspective()
2D转换平移方式改变元素位置
transform: translate(x,y)
a.最多只能设置两个值,第一个值表示水平位置(x方向),第二个值表示垂直位置(y方向)
b.如果只设置一个值,则表示水平方向
c.如果值为负数,元素则反方向移动
d.如果值为百分比,则相对于元素自身的宽高百分比
2D旋转
1.基本语法:transform: rotate(角度)
2.总结:
a.只有一个值,表示旋转的角度(单位deg)
b.角度值为正数:顺时针旋转 负数:逆时针旋转
transform-origin
属性transform-origin: 100px 100px;
可以设置具体的坐标点
transform-origin*: left bottom;
也可以设置元素自身的顶点2D缩放
transform: scale(x,y)
a.第一个值表示水平缩放比例(宽度),第二个值表示垂直缩放比例(高度)
b.如果只设置一个值,表示宽度和高度同时缩放相应的比例
c.缩小: 0-1之间的小数 放大: 大于1的数字
d.transform-origin:设置2d转换基准点(作用于旋转、缩放、倾斜)
2D倾斜(扭曲)
transform: skew(x角度,y角度)
a.第一个值表示x方向倾斜角度,第二个值表示y方向倾斜角度
b.如果只设置一个值,表示x方向倾斜角度
==默认情况下,我们的电脑屏幕是二维的,无法呈现Z轴效果,如果想要看到3D效果必须要设置视距属性==
perspective: 800px;
一般视距范围600-100px
倾斜Skew只有X轴Y轴,没有Z轴,但是可以用3d矩阵变换来实现matrix3d(了解即可)
3d转换缩放:*transform*: scaleX(2) scaleY(2) scaleZ(2);
a. scaleX和scaleY相当于2d转换scale(x,y)
b. scaleZ相当于改变物体厚度(立方体有效),单独使用无效果(少用)
a. 动画不能自动开始(需要配合horver使用)
b. 动画次数固定一次
a.可以自动开始
b.次数不限
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。