RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1603004
Accepted
Alexandr_TT
Alexandr_TT
Asked:2024-12-21 20:50:10 +0000 UTC2024-12-21 20:50:10 +0000 UTC 2024-12-21 20:50:10 +0000 UTC

强制动画返回其原始值(背景颜色)

  • 772

我有一个盒子,我想让它闪烁。

  • 它应该不停地闪烁
  • 它从白色闪烁并返回到原始颜色
  • 每个循环之间必须有一个“暂停”(颜色保持不变)
  • 解决方案只有css,没有js

代码片段中的代码满足所有条件。 30% 和 70% 关键帧用于每个周期之间的暂停,保持完全绿色。它们之间闪烁着白色。

但此示例使用硬编码颜色。是否可以简单地为对象(此处为主体)设置颜色?然后盒子会闪烁白色并返回到原来的颜色,无论盒子当时是什么颜色。
不幸的是,在关键帧中使用“继承”或“初始”会将其恢复为白色。

body {
  animation: blink 3s infinite ease-in-out;
  background-color: green;
}

@keyframes blink {
  30% {background-color: green;}
  50% {background-color: white;}
  70% {background-color: green;}
}

@Maze 问题的免费翻译使动画返回初始值(背景颜色)。

html
  • 4 4 个回答
  • 41 Views

4 个回答

  • Voted
  1. Best Answer
    UModeL
    2024-12-24T00:03:00Z2024-12-24T00:03:00Z

    我想,在这种情况下,变量就是“从大炮到麻雀”。该功能linear() 仅适用于最新版本的浏览器。

    revert-layer您可以使用返回到之前设置的值,而不是创新和复杂化:

    body {
      animation: blink 3s infinite ease-in-out;
      background-color: red;
    }
    
    @keyframes blink {
      30%, 70% { background-color: revert-layer; }
      50% { background-color: yellow; }
    }

    颜色已更改以避免与默认白色混淆。

    • 3
  2. puffleeck
    2024-12-22T00:58:44Z2024-12-22T00:58:44Z

    您可以селекторе不直接在属性中选择颜色,而是在CSS переменные

    将相同的颜色应用于属性本身(变量)可以在ключевых кадрах.

    /* 是的,可以在以下任何选择器中轻松更改颜色(body:hover作为示例)。我在我的宠物项目中遵循 +- 这个原则langpack'и,并将它们交换在一起,为了好玩 */

    @keyframes blink {
      0% {background: var(--fill)}/* без этого кадра "сейчас", цвет фона не белел бы а отсутствовал
         что и видно при выборе черного цвета мерцания(body:hover) */
      30% {background: var(--fill)}
      50% {background: var(--blink)}
      70% {background: var(--fill)}
      100% {background: var(--fill)} /* см коммент к 0% */
    }
    
    body {
      animation: blink 3s infinite ease-in-out;
      --fill: green;
      --blink: white;
      position: absolute; inset: 0;
    }
    
    body:hover{
      --fill: pink;
      --blink: black;
    }

    • 2
  3. Alexandr_TT
    2024-12-21T20:50:10Z2024-12-21T20:50:10Z

    使用新的计时函数更简单的代码 linear()

    body {
      animation: blink 3s infinite linear(0, 0 30%, 1 50%, 0 70%, 0);
      background-color: green;
    }
    
    @keyframes blink {
      to {background-color: white;}
    }

    成员 @Temani Afif的答案的免费翻译 。

    • 1
  4. Qwertiy
    2024-12-24T03:15:00Z2024-12-24T03:15:00Z

    我不知道过渡颜色与预期的匹配程度如何,但我认为这是一个有趣的方法:

    html, body {
      height: 100%;
      margin: 0;
    }
    
    html {
      background: red;
    }
    
    body {
      animation: blink 3s infinite ease-in-out;
      background: transparent;
    }
    
    @keyframes blink {
        0% { background-color: transparent; }
       30% { background-color: green;       }
       50% { background-color: transparent; }
       70% { background-color: green;       }
      100% { background-color: transparent; }
    }

    • 0

相关问题

  • 具有非均匀背景的块内的渐变边框

  • 离开页脚

  • 如何将三个字段的数据收集到一封电子邮件中?

  • Html 元素刚从父元素中出来

  • 如何在css中制作这个背景?

  • 如何制作带有斜条纹的背景?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5