首页 > 其他分享 >通过css变量和动画的延迟负值, 实现动画效果

通过css变量和动画的延迟负值, 实现动画效果

时间:2024-04-09 14:46:14浏览次数:20  
标签:动画 负值 -- delay querySelector ev root css

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

<head>
  <meta charset="UTF-8">
  <meta
    name="viewport"
    content="width=device-width, initial-scale=1.0"
  >
  <title>Document</title>
  <style>
    @keyframes move {
      100% {
        transform: translateX(300px);
      }
    }

    :root {
      --delay: 0s;
    }

    .ball {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background-color: tomato;
      animation: move 2s var(--delay) linear;
      animation-play-state: paused;
    }
  </style>
</head>

<body>
  <div class="ball"></div>
  <input
    type="range"
    min="0"
    max="1"
    step="0.01"
    value="0"
  >

  <script>
    const root = document.querySelector(":root")
    const ipt = document.querySelector('input')
    ipt.addEventListener('input', ev => {
      root.style.setProperty('--delay', `${-ev.target.value * 2 + 0.00001}s`)
    })
  </script>
</body>

</html>

 

标签:动画,负值,--,delay,querySelector,ev,root,css
From: https://www.cnblogs.com/fmg0224/p/18123925

相关文章

  • CSS定位布局——浮动与清除浮动
    浮动(Float)是一种CSS布局属性,通常用于将元素向左或向右移动,使其脱离文档流并环绕在其周围的内容周围。浮动元素会影响其周围元素的布局,可能会导致父元素高度塌陷(父元素无法包裹浮动元素)或元素重叠等问题。浮动后的特点:元素脱离文档流,向左或向右移动,其他内容会环绕在其周围。浮......
  • CSS——解决CSS元素之间的空白问题
    在CSS中,元素之间的空白问题指的是元素之间可能存在的空白间隙或间距,这些空白可能是由于元素之间的换行、空格或制表符等造成的。这些空白可能会影响页面的布局和样式。常见的解决方法:1.使用font-size:0将父元素的字体大小设置为0,可以消除内联元素之间的空白。.parent{......
  • CSS——行内块的幽灵空白问题的多种解决方法
    行内块元素之间的幽灵空白问题是指在HTML中,行内块元素(如、等)之间可能存在的空白间隙,这些空白间隙由元素之间的换行、空格或制表符等引起。这些空白间隙可能会导致页面布局出现意外的间距。解决方法:1.使用负边距通过设置负边距来消除行内块元素之间的空白。span{dis......
  • 前端【sass、scss、stylus、less、css】
    介绍less sass stylus 都是css预处理器,语法上稍有差异,作用一样都是让css,增强能力,具备变量,函数..的能力sass的语法两种语法.sass和.scss.sass和.stylus语法很像(了解)要求省略{}和分号,缩进表示嵌套使用$变量名:变量值  定义变量, 示例: ......
  • WPF —— 平移变换动画实例
    创建动画面临第一个问题选择正确的属性,选择属性的准则有以下几个方式进行选择 1如果希望动画显示和隐藏元素的时候,不要使用visibility,应使用opacity进行动画 2如果改变元素的位置的动画,尽量使用Canvas,使用Canvas.left以及canvas.top属性进行调整 但是也可以使用thickne......
  • css 实现排行榜向上滚动
    使用动画实现无线向上滚动复制一层dom,使用动画向上滚动,鼠标hover的时候暂停动画<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">......
  • Chrome浏览器前端开发调试时强制更新js、css静态资源文件缓存的方法
    以Chrome浏览器为例,国产浏览器未做全面测试。前端开发静态文件时,浏览器访问会缓存样式、图片、js等,怎么快速更新缓存。以下方法特别适合只想清除某个网页的缓存,而不想清除全部浏览器缓存可以采用以下方法。一、强制刷新同时按住ctrl+f5或ctrl+shift+r进行访问页面强制刷新,一般......
  • cesium 地图旋转 整个场景旋转 开场动画
    设置camera旋转能实现整个场景的旋转,多用于开场动画开始旋转functiononTickCallback(){viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z,-0.02);}viewer.clock.onTick.addEventListener(onTickCallback);停止旋转view......
  • <datalist>大多数浏览器不支持,用html.css 自己实现<datalist>功能
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>CustomDropdown</title><styl......
  • Manim教程之轻松制作数学动画
    【2024最新教程】Manim动画软件教程,像3blue1brown那样做动画【更新中】【2024最新教程】Manim动画软件教程,像3blue1brown那样做动画【更新中】_哔哩哔哩_bilibiliManim教程之轻松制作数学动画Manim教程之轻松制作数学动画_哔哩哔哩_bilibili我找到了3Blue1Brown做视......