总体来说两类:
1. transition: 从一个样式到另外一个样式的过渡过程
width:过渡需要的时间
linear: 匀速过度 transition: 2s linear; 匀速过渡,而且时长2s
ease: 慢速开始,然后加快,然后慢速结束
ease-in: 慢速开始
ease-out: 慢速结束
ease-in-out: 慢速开始和结束
例子:
.div1{width: 100px; transition: 1s linear;} .div1:hover{width:500px;}
过渡的属性可以是宽高,字体颜色,背景色等
2. transform:从一个位置到另外一个位置,通常结合transition来使用
①旋转
rotate(30deg) 正值是顺时针
rotateX(30deg)
rotateY(30deg)
② 移动
translate(x,y) 正值是向右,向下
translate3d(x,y,z)
translateX
translateY
translateZ
③ 缩放
scale(x,y) x,y 是倍数,可以是负值
scaleX
scaleY
例子:鼠标移入时元素从最下面没有慢慢滑入的效果
.div1{
width:100px;height:200px;background:pink;
position:relative;
overflow: hidden;
transition:1s;
}
.div1 p{
margin:0;
height:50px;position:absolute;
bottom:-50px;left:0;right:0;
background:red;
transition:1s;
}
.div1:hover{
transform: translateY(10px);
box-shadow:0 10px 20px gray; /* 右,下,模糊半径,阴影颜色*/
}
.div1:hover p{ /* 鼠标移到div1上对内部的p书写样式*/
transform: translateY(-50px);
}
<div class="div1">
<p>好好学习,天天向上</p>
</div>