卓音第五次讨论班—CSS过渡、动画

关键字:transition,animations,关键帧 @keyframs

CSS过渡

过渡可以为某一个元素在不同状态之间切换时,定义不同的过渡效果。

比如在不同的伪元素(:hover、:active)或通过JS实现的状态变化

transition属性是一下属性的简写属性

属性含义
transition-property规定应用过渡的CSS属性的名称 。默认为all
transition-duration规定过渡效果的完成时长。默认是0s
transition-timing-function规定过渡效果的时间曲线。默认是ease
ransition-delaay规定从元素加载完成到执行过渡效果的延迟时间。默认为0s

简写语法

div {
    transition:<property> <duration> <timing-function> <delay>
}

过渡实例

例子① 鼠标悬停时4s过渡改变字体大小,0.5s延迟

        div {
            transition-property: font-size;
            transition-duration: 4s;
            transition-delay: 0.5s;
            font-size: 14px;
        }

        div:hover {
            font-size: 36px;
        }

CSS动画

animations:从一个CSS样式配置转换到另一个CSS样式配置。
动画包括两个部分:①描述动画的样式规则 ②用于指定动画开始、结束以及中间点样式的关键帧

配置动画

animation子属性功能描述
animation-delay设置延时,即从元素加载完成到动画序列开始执行的时间
animation-direction设置动画每次运行完后是反向运行还是回到开始位置重复运行
animation-duration设置动画一个周期的时长
animation-iteration-count设置动画重复次数,可以指定infinite无限次重复动画
animation-name设置@keyframes描述的关键帧名称
animation-play-state允许暂停和恢复动画
animation-timing-function设置动画速度,即通过建立加速度曲线,设置动画在关键帧之间是如何变化
animation-fill-mode指定动画执行前后如何为目标元素应用样式
animation-direction可取值含义
normal正常速度播放
reverse反向播放
alternate奇数次正向播放,偶数次反向播放
alternate-reverse奇数次反向播放,偶数次正向播放
animation-timing-function可取值含义
linear匀速
ease慢-快-慢
ease-in低速开始
ease-out低速结束
ease-in-out低速开始和结束

使用keyframes定义动画序列

通过使用@keyframes建立两个或两个以上关键帧来实现。每一个关键帧都描述了动画元素在给定的时间点上应该如何渲染。

关键帧使用percentage指定动画发生的时间点。0%表示动画发生的第一时刻,100%表示最终时刻。(别名:0% => from、100% => to)

两个时间点都是可选的,其中一个未指定时,使用计算值开始或结束动画。

动画实例

例子①动画实现p段落从左边滑入,持续时间3s

        p {
            animation-duration: 3s;
            animation-name: slidein;
            /* animation-iteration-count: infinite; */
            animation-direction: alternate;
        }
        @keyframes slidein {
            from {
                margin-left: 100%;
            }
            to {
                margin-left: 0%;
            }
        }

注意:webkit内核浏览器或者早期版本浏览器可能需要 -webkit-前缀

过渡效果和动画效果的异同

  • 相同点:两个属性都可以使元素动起来
  • 不同点:
    • transition需要有一个事件(:hover:active)才可以触发,animation不需要
    • transition只能定义一组(开始,结束)关键帧, animation可以定义多组关键帧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值