css3动画animation基础详解,给元素添加多个动画时动画不分先后同时执行

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

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

在这里插入图片描述

1.动画的基础属性,上面添加了两个动画,一为旋转,二为变色,当给section元素添加这两个动画时,两个动画不分先后同时执行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2D基础动画</title>
    <style>
        html{
            height: 100%;
        }
        body{
            height: 100%;
            margin: 0;
        }
        /*中心点*/
        div{
            width: 20px;
            height: 20px;
            background-color: black;
            border-radius:50%;
            /*定位,相对body设置绝对定位*/
            position: absolute;
            left: calc(50% - 10px);
            top: calc(50% - 10px);
        }
        /*旋转的小球*/
        section{
            width: 100px;
            height: 100px;
            background-color: red;
            /*定位,相对body设置绝对定位*/
            position: absolute;
            left: calc(50% + 60px);
            top: calc(50% + 60px);
            border-radius: 50%;
            /*添加动画*/
            /*动画名称*/
            animation-name: xuanzhuan,changeColor;
            animation-duration: 3s;
            animation-iteration-count:infinite;
            /*速率默认ease(慢-快-慢)
                ease-in(慢-快)
                ease-out(快-慢)*/
            animation-timing-function:ease;
            animation-timing-function: cubic-bezier(0.05,0.66,0.28,1.2);
            /*origin赋值为x轴 y轴的坐标点*/
            transform-origin: -60px -60px;
            /*添加变色的动画----不能在这里添加新的动画,旧的会被覆盖,可以将两个动画属性写在一起*/
            /*animation: changeColor 3s linear infinite;*/
        }
        /*动画规则*/
        @keyframes xuanzhuan{
            from{
                transform: rotate(0);
            }
            to{
                transform: rotate(360deg);
            }
        }
        @keyframes changeColor{
            0%{
                background-color: red;
            }
            20%{
                background-color: forestgreen;
            }
            40%{
                background-color: darkblue;
            }
            60%{
                background-color: tomato;
            }
            80%{
                background-color: mediumvioletred;
            }
            100%{
                background-color: yellow;
            }
        }
    </style>
</head>
<body>
    <div></div>
    <section></section>
</body>
</html>

2.动画的其他属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2D动画的其他属性</title>
    <style>
        html{
            height: 100%;
        }
        body{
            height: 100%;
            margin: 0;
        }
        section{
            width: 100px;
            height: 100px;
            background-color: darkcyan;
            position: absolute;
            left: 100px;
            top: 100px;

            /*添加动画  将容器移动到距离右侧100px的位置上*/
            animation: move 3s;
            animation-delay: 0s;
            animation-iteration-count: 3;

            /*设置动画的方向
            alternate属性使动画能够正反轮流播放*/
            animation-direction: alternate;

            /*动画的填充模式,当动画无限次数执行时以下样式无效*/
            /*动画结束后将保持到动画开始前的状态*/
            animation-fill-mode:backwards;
            /*动画结束后将保持到动画结束后的状态*/
            animation-fill-mode: forwards;
            /*应用以上两者模式,动画最终保持在结束后的状态*/
            animation-fill-mode: both;

            /*动画的速率是通过贝塞尔曲线实现的,数值越大,速度越慢   数值越小,速度越快
                参数中,前两个值指的开始状态的速率,后两个值指的结束状态的速率*/
            animation-timing-function: cubic-bezier(0.975, 0.02, 0.165, 1);
        }
        @keyframes move{
            from{
                /*transform: translate(0);*/
                left: 100px;
            }
            to{
                /*transform: translateX(calc(100% - 200px));*/
                /*from中使用left  to中使用right是无效的*/
                left: calc(100% - 100px - 100px);
            }
        }
    </style>
</head>
<body>
    <section></section>
</body>
</html>

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: CSS3动画是一种非常强大的动画技术,它可以让网页变得更加生动、美丽。本文将为大家详细介绍CSS3动画的各个属性,包括动画名称,持续间,延迟间,动画速度曲线,以及动画执行次数等。 动画名称(animation-name):与CSS中的类似,动画名称是指定CSS3动画所使用的关键帧动画。这个属性用来指定一个已定义的动画名称,以便调用该动画。 持续间(animation-duration):定义CSS3动画的持续间。默认值为0,表示没有动画效果。通过使用单位“秒(s)”或“毫秒(ms)”来定义动画的持续间。 延迟间(animation-delay):指定动画开始前的等待长。默认值为0,即动画将立即开始。通过使用单位“秒(s)”或“毫秒(ms)”来定义延迟间。 动画速度曲线(animation-timing-function):定义动画的速度曲线,可以使动画有更加自然的过渡效果。使用缓动函数可以让动画更具有灵活性,可以在不同的间点采用不同的速度曲线,从而实现更复杂的动画效果。 动画执行次数(animation-iteration-count):指定动画执行次数。可以使用数字或者“infinite”关键字来指定动画执行次数。如果将其设置为“infinite”则表示动画将一直持续执行下去。 动画方向(animation-direction):指定动画是否循环播放,并且指定循环播放的方向。这个属性可以使用以下值:normal,reverse,alternate和alternate-reverse。 动画填充模式(animation-fill-mode):指定动画在开始或结束元素的样式应该如何处理。使用这个属性可以让动画具有更加平滑的效果,可以避免由于动画结束样式的改变而造成的过度影响。 总之,通过使用上述属性,我们可以为网页添加各种丰富的动画效果,让网页更加互动、生动,也更能吸引用户的眼球。 ### 回答2: CSS3动画是网页开发中非常常用的一种技术,通过使用动画属性可以给页面的元素增添动态的效果。本文将详细介绍CSS3动画的各个属性。 1. animation-name 该属性定义要绑定到要执行动画的@keyframes的名称。@keyframes是定义动画的关键帧的规则集合。 2. animation-duration 该属性定义了动画完成所需的间,以秒或毫秒为单位。 3. animation-timing-function 该属性定义了动画执行间曲线。通过使用不同的序函数,可以使动画更真实,更有质感。 4. animation-delay 该属性定义动画开始之前的延迟间,以秒或毫秒为单位。 5. animation-iteration-count 该属性定义动画的迭代次数。可以将其设置为有限或无限。 6. animation-direction 该属性定义动画是否反向播放。 7. animation-fill-mode 该属性定义了元素动画之前和之后的状态。可以设置为none、forwards、backwards或both。 8. animation-play-state 该属性定义动画的运行状态。可以将其设置为paused或running。 9. animation animation属性是所有动画属性的缩写。它接受每个属性的值作为逗号分隔列表。 总结: 上述就是CSS3动画常用属性的详细介绍。CSS3动画可以用来为页面增添动态效果,提高用户的交互体验。在实际开发中,可以通过不同的动画属性以及不同的取值方式,创建出各种不同的动画效果。在制作动画,需要考虑兼容性问题,如果要兼容IE9及以下版本,我们还需要使用Vendor Prefix前缀来避免浏览器的兼容问题。 ### 回答3: CSS3动画是将元素从一个状态变换到另一个状态的方式,其中使用了一些简单的CSS属性CSS3动画属性可以通过@keyframe规则或transition属性设置。它们可以用来创造一些很棒的效果,比如向上滚动的标题、浮动的按钮等。下面详细介绍一下CSS3动画涉及的各种属性。 1. animation-name:用来定义动画的名称,这个名称会由animation属性引用。 2. animation-duration:定义动画的持续间。单位为秒(s)和毫秒(ms)。 3. animation-timing-function:定义动画的速度变化曲线。这个属性定义了过渡的速度,是一个三次贝塞尔函数。可以设置ease、linear、ease-in、ease-out、ease-in-out和cubic-bezier等值。 4. animation-delay:定义动画开始之前的延迟间。单位为秒(s)和毫秒(ms)。 5. animation-iteration-count:定义动画的重复次数。可以设置为一个具体的数字或infinite表示无限次重复。 6. animation-direction:定义动画结束后是否负向重复播放。可以设置为normal、reverse、alternate和alternate-reverse。 7. animation-play-state:定义动画是运行还是暂停。可以设置为paused和running。 8. animation-fill-mode:定义动画结束后如何应用样式。可以设置为none、forwards、backwards和both。 以上是CSS3动画中涉及的主要属性。其中最重要的要数animation-iteration-count和animation-duration两个属性animation-iteration-count可以定义动画的重复次数,也可以设置为infinite表示无限次重复。animation-duration用来定义动画的持续间,如果不设置,默认值为0,此动画是不会播放的。在设置这两个属性,需要根据具体情况来确定合适的数值,以达到最佳的动画效果。 总的来说,CSS3动画提供了丰富的效果和属性,可以应用于页面中的各种元素和功能,让页面更加生动、美观、尚。在开发过程中,合理应用这些属性,可以使前端开发变得更加有趣和富有挑战性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值