【css动画】- 直播中的动画效果

效果图(左侧三条柱条有动画效果)

完整代码及详解

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css - 动画 - 直播中</title>
    <style>
        .container {
            display: flex;
            align-items: center;
        }

        /* 三个柱条的父级容器样式 */
        .live-animation-box {
            display: flex;
            align-items: flex-end;
            gap: 2px;
            height: 14px;
            width: 16px;
        }

        /* 左侧柱条样式 */
        .left {
            width: 3px;
            height: 6px;
            background-color: #46c37b;
            border-radius: 2px;
            /* 绑定创建的动画名称 规定动画以1s为一个周期 动画变化速度匀速 动画播放无限次 */
            animation: left-animation 1s linear infinite;
        }

        /* 中间柱条样式 */
        .center {
            width: 3px;
            height: 9px;
            background-color: #46c37b;
            border-radius: 2px;
            animation: center-animation 1s linear infinite;
        }

        /* 右侧柱条样式 */
        .right {
            width: 3px;
            height: 3px;
            background-color: #46c37b;
            border-radius: 2px;
            animation: right-animation 1s linear infinite;
        }

        /* 左侧柱条动画规则 */
        @keyframes left-animation {
          0%{height: 6px;}
          25%{height: 9px;}
          50%{height: 6px;}
          75%{height: 3px;}
          100%{height: 6px;}
        }

        /* 中间柱条动画规则 */
        @keyframes center-animation {
          0%{height: 9px;}
          25%{height: 6px;}
          50%{height: 3px;}
          75%{height: 6px;}
          100%{height: 9px;}
        }

        /* 右侧柱条动画规则 */
        @keyframes right-animation {
          0%{height: 3px;}
          25%{height: 6px;}
          50%{height: 9px;}
          75%{height: 6px;}
          100%{height: 3px;}
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="live-animation-box">
            <div class="left"></div>
            <div class="center"></div>
            <div class="right"></div>
        </div>
        <span>直播中</span>
    </div>
</body>

</html>

CSS3 动画详解

        首先创建css3动画之前需要先了解 @keyframes 规则

CSS3 @keyframes 规则

        @keyframes 规则 用于创建动画;

        @keyframes 规则 内指定一个CSS样式和动画 将逐步从目前样式更改为新的样式;

        @keyframes 规则 用百分比或 "from"(等同于 0% 是动画的开始)和 "to(等同于 100% 是动画的结束)",

        如下例中:

        animation-name:@keyframes 动画的名称;当动画开始时高度为6px,然后当动画为25%时高度改变为9px,当动画为50%时高度改变为3px,当动画完成时高度为0。

@keyframes animation-name
{
  0% {height: 6px;}
  25% {height: 9px}
  50% {height: 6px}
  75% {height: 3px}
  100% {height: 0px}
}

CSS3 动画属性

        在 @keyframes 创建的动画,需要把它绑定到一个选择器,否则动画不会生效。

        指定至少 规定动画的名称 和 规定动画的时长 这两个CSS3的动画属性绑定向一个选择器。

动画属性如下:

animation: 所有动画属性的简写属性。写法如下:

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation-name: 规定 @keyframes 动画的名称。

animation-duration: 规定动画完成一个周期所花费的时间(秒或毫秒)。默认是0。

animation-timing-function: 规定动画的速度曲线。

        默认是"ease":动画以低速开始,然后加快,在结束前变慢;

        "ease-in":动画以低速开始;

        "ease-out":动画以低速结束;

        "ease-in-out":动画以低速开始和结束;

        "linear":动画从头到尾的速度相同;

        cubic-bezier(n,n,n,n):通过 cubic-bezier 函数来定义速度曲线;

        steps(int, start | end):指定时间函数中的间隔数量(步长),

                参数一 int(正整数):指定函数的间隔数,

                参数二(可选):表示动画是从时间段的开头连续还是末尾连续,

                start:表示直接开始|end(默认值):表示戛然而止。

animation-delay: 规定动画何时开始。

        默认是0:直接开始;

        可以是负值:例 -3s是使动画马上开始,但跳过3s进入动画。

animation-iteration-count: 规定动画被播放的次数。

        默认是1:动画只播放一次;

        n:一个数字,定义动画应该播放多少次;

        infinite:指定动画应该播放无限次。

animation-direction: 指定是否应该轮流反向播放动画。

animation-fill-mode: 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

animation-play-state: 指定动画是否正在运行或已暂停。

initial: 设置属性为其默认值。

inherit: 从父元素继承属性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值