css3动画的过渡

10 篇文章 0 订阅
2 篇文章 0 订阅

效果图:
在这里插入图片描述

在这里插入图片描述
右边是动画,左边是过渡,过渡需要提前设置好过渡的样式,时间,速率等等属性

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>2D的过渡</title>
    <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
    <style>
        html {
            height: 100%;
        }

        body {
            margin: 0;
            height: 100%;
            background-color: black;
        }

        section:nth-child(1) {
            /* from 设置容器过渡的初始状态*/
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background-color: yellow;
            margin-top: 50px;

            /*让圆下降*/
            /*transition过渡,是2D动画中的一个复合属性,
            包括transition-property(属性),
            transition-timing-function(动画执行的速率),
            transition-duration(动画执行的时间\间隔\周期,以秒s为单位),
            transition-delay(动画延迟的时间,以秒s为单位)*/

            /*transition-property过渡属性,填写即将要做样式转换的属性,高度、颜色、距离等等*/
            transition-property: background-color, margin-top, width, height;
            /*通过all来代表所有属性都可以执行过渡效果*/
            transition-property: all;
            /*动画开始到动画结束间隔3s*/
            transition-duration: 5s;
            /*动画执行后延迟1s才开始动画,动画结束后也会延迟1秒回到原状态*/
            transition-delay: 1s;
            /*速率:linear匀速*/
            transition-timing-function: linear;
        }

        /*当鼠标长按容器时,使得容器处于活跃状态下,就会执行以下样式*/
        section:nth-child(1):active {
            /*to 过渡的结束状态*/
            background-color: orangered;
            margin-top: 500px;
            width: 50px;
            height: 50px;
        }

        /*第二个容器:位于右侧、设置宽高、背景颜色*/
        section:nth-child(2) {
            width: 100px;
            height: 100px;
            background-color: rosybrown;
            /*定位*/
            position: absolute;
            top: 50px;
            right: 50px;

            /*动画animation*/
            /*1动画的名字*/
            animation-name: DownDown;
            /*2动画的时间*/
            animation-duration: 3s;

            /*3动画速率 默认ease慢-块-慢   linear匀速*/
            animation-timing-function: linear;
            /*4动画次数 默认是1次   infinite 无限次数*/
            animation-iteration-count: infinite;
            /*5动画延迟 动画执行后延迟2s后才开始动画*/
            /*animation-delay: 2s;*/
            /*6设置动画的运动方向,alternate该属性让容器以动画的形式原路返回*/
            animation-direction: alternate;
            /*将5句话合成一句话*/
            /*alternate动画交替,让动画原路返回*/
            animation: DownDown 3s linear infinite alternate;
        }

        /*执行动画规则@keyframes + 动画的名称 */
        @keyframes DownDown {
            from {
                /*动画的初始状态*/
                transform: translate(0, 0) scale(0);
            }

            to {
                /*动画的结束状态*/
                transform: translate(0, 500px) scale(0.5);
            }
        }
    </style>
</head>

<body>
    <section class="aa"></section>
    <section></section>
    <div style="text-align: center;">
        <button class="btn" onclick="my()">点点</button>
    </div>
</body>
<script>
    function my(){
        console.log('哈哈哈');
        $('.aa').css({'background-color': 'orangered','margin-top': '500px','width': '50px','height': '50px'})
    }
</script>
</html>

如果文章对你有帮助,麻烦点个赞,谢谢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值