当前位置: 首页 > 面试题库 >

用平滑的结果对CSS背景位置进行动画处理(亚像素动画)

蒲勇
2023-03-14
问题内容

我正在尝试为div的背景位置设置动画,但要使其保持平稳。您可以在这里查看我目前的努力结果:

@-webkit-keyframes MOVE-BG {
    from {
        background-position: 0% 0%
    }
    to { 
        background-position: 187% 0%
    }
}

#content {
    width: 100%;
    height: 300px;
    background: url(http://www.gstatic.com/webp/gallery/1.jpg) 0% 0% repeat;
    text-align: center;
    font-size: 26px;
    color: #000;

    -webkit-animation-name: MOVE-BG;
    -webkit-animation-duration: 100s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
}

我已经呆了好几个小时了,找不到任何可以在亚像素级别上缓慢而流畅地进行动画处理的东西。我当前的示例是根据此页面上的示例代码制作的

如果无法使用背景位置完成操作,是否有办法伪造具有多个div的重复背景并使用翻译移动这些div?


问题答案:

看看这个例子:

#content {

  height: 300px;

  text-align: center;

  font-size: 26px;

  color: #000;

  position:relative;

}

.bg{

  position: absolute;

  left: 0;

  right: 0;

  top: 0;

  bottom: 0;

  z-index: -1;

  background: url(http://www.gstatic.com/webp/gallery/1.jpg) 0% 0% repeat;

  animation-name: MOVE-BG;

  animation-duration: 100s;

  animation-timing-function: linear;

  animation-iteration-count: infinite;

}

@keyframes MOVE-BG {

   from {

     transform: translateX(0);

   }

   to {

     transform: translateX(-187%);

   }

}


<div id="content">Foreground content

  <div class="bg"></div>

</div>


 类似资料:
  • 这是代码https://jsfiddle.net/pk7zetdu/6/链接 尝试用最新的稳定的chrome for windows打开它。 首先,当它加载时,您可以看到幻灯片(div)滚入滚出,然后图像SRC被更改,div第二次滚入新的bg(可能有一个小的img加载延迟)。一切都好! 然后请按小提琴上的“运行”按钮并再次观看。现在,您可以看到幻灯片(div)滚入滚出,而图像SRC发生了更改,但它

  • 问题内容: 我正在尝试绘制一个带有边框半径的圆并为其设置动画。我可以这样做,但是我不能做的是覆盖元素并将圆形背景设置为透明,而无需取消隐藏蒙版。我无法使它在元素上透明,因为在旋转模拟模仿效果时,需要应用遮罩以隐藏圆的左半部分。 HTML CSS 在我的示例中,我需要将蓝色背景更改为透明,在开始旋转之前不取消隐藏边框半径。 请原谅这些颜色,这些不是我要使用的颜色,但是可以提供一种更清晰的解决方法。

  • 我正在尝试创建背景色CSS3关键帧动画后的第一个动画,这是一个背景图像。我无法创建另一个动画后,文字动画淡出。文本动画褪色后,我想背景的不透明度转到0.3,并再次褪色在文本。下面是我所拥有的。 请在此处查看完整代码:codepen:https://codepen.io/imdaone/pen/jjryyv

  • 我试图为我的实现一个平滑的动画,但是当我增加时间(30秒)时,动画不再平滑。 5秒钟的例子: 30秒的例子: 我的进步背景: 我的进度布局: 我的动画制作方法:

  • 我已经编写了一些代码,可以从高度图中渲染3D世界,现在我也编写了允许行走的代码。问题是,当高度增加时,动画几乎“跳跃”,因为每个单元都相当大。有没有一种简单的方法可以让动画更流畅?(一般来说,我对OpenGL和3D渲染非常陌生,所以我不想讨论插值和更复杂的事情。)

  • 我想这样做:https://storage.googleapis.com/spec-host/mio-staging/mio-design/1563837804615/assets/1XlKhaQFU9aS84ACmF-EDjVKDgI4pPldv/02-overflowmenu.mp4 我想挤压一个“ViewGroup”,正如你在视频中看到的。与此同时,我想淡出ViewGroup中的内容在其原始