CSS3三大模块
过渡模块:
:hover 除了可以用在a标签上 也可以用在任何标签上
transition-property:
告诉系统那个属性需要执行过渡效果
transition-duration:
告诉系统过渡效果持续的时长
1.过渡效果三要素
必须要有属性发生变化
必须告诉系统那个属性需要执行过渡效果
必须告诉系统过渡效果持续时长
注意点:
当多个过渡属性需要
过渡模块其他属性:
transition-delay:
告诉系统延迟多少秒之后才开始过渡动画
transition-timing-function:
告诉系统过渡动画的速度是多少
ease
ease-in
ease-in-out
ease-out
transform: rotate(ndeg);
旋转多少度
默认情况下所有元素都是围绕Z轴旋转
想围绕那个轴旋转那么只需要在rotate后面加上大写的X Y Z即可
transform: translate(n,n);
平移多少
第一个参数:水平方向
第二参参数:垂直方向
transform: scale(n,n);
缩放
第一个参数:水平方向
第二参参数:垂直方向
如果取值是1代表不变
如果取值大于1代表放大
如果取值小于1代表缩小
如果水平和垂直缩放都一样,那么就可以简写为一个参数
缩写:
如果需要进行多个转换,那么用空格隔开
2D的转换模块会修改元素的坐标
系,所以旋转之后再平移就不是水平平移
形变中心点:
默认情况下所有的元素都是以自己的中心点来作为参考来旋转的,我们可以通过形变中心点属性来修改它的参考点
transform-origin:n n;
第一个参数:水平方向
第二参参数:垂直方向
三种取值方式:具体像素 百分比 关键字(top right....)
transform-style:preserve-3d ;
2D转换3D
perspective
透视:进大远小
透视属性必须添加到需要呈现近大远小的效果的元素的父元素上面
掘金 阿里团队 醉牛前段
filter:Alpha(opacity=50); /* IE8 以及更早的浏览器 */透明度
过渡和动画之间的异同
不同点:
过渡必须人为的触发才会执行动画
动画不需要人为的触发
相同点:
过渡和动画都是给元素添加动画效果的
过渡和动画都是系统新增的一些属性
过渡和动画都必须满足三要素
animation-iteration-count: ;
告诉系统动画执行几次
animation-direction: ;
告诉系统是否需要执行往返动画
normal:默认取值,执行完一次后回到启动继续执行
alternate:往返动画,指定完一次后往回执行下一次
animation-timing-function: ;
告诉系统动画执行的速度
animation-delay:time;
告诉系统动画几秒后开始
animation-duration: ;
告诉系统动画持续的时长
animation-play-state: ;
告诉系统当前动画是否需要暂停
running运动
paused暂停
animation-name:**;
告诉系统需要执行那个动画
animation-fill-mode: ;
指定动画等待状态和结束状态的样式
none不做任何改变
both两者的结合
forwards让元素结束状态保持动画最后一帧的样式
backwards让元素等待状态的时候显示动画第一帧的样式
告诉系统我们需要自己创建一个名称叫做**的动画
@-webkit-keyframes **{
from { }
to { }
}
动画三状态:
等待状态
执行状态
结束状态
动画模块连写格式
animation 名称 时长 速度 延迟时间 执行次数 往返动画