首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSS动画:使div浮动出文档

CSS动画:使div浮动出文档
EN

Stack Overflow用户
提问于 2017-08-23 03:25:08
回答 1查看 885关注 0票数 0

我想创建一个从左到右漂浮的云的CSS动画。我有一个宽度为100%的div,云是带有"position:absolute“的图像。我的解决方案很简单:创建一个动画,它会随着时间的推移将图像的"left“属性更改为120%。然而,该解决方案的问题是,云在跨过整个HTML文档的全宽度后会扩展整个HTML文档的宽度。

我如何防止这种情况,并使云在穿过100%宽度后简单地消失在右侧?提前感谢!

编辑:这是CSS的一部分:

代码语言:javascript
复制
.header{
  display:flex;
  flex-direction:row;
  height: 40em;
  justify-content:center;
  align-items:center;

  width:100%;
  overflow:hidden;
 }

.cloud{
  position:absolute;
  left:-10%;
  animation: cloud 10s linear infinite;
 }


  @keyframes cloud{
  100%{
    left:150%;
  }
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-23 03:31:28

这里有一个简单的例子;使用transform而不是left,因为它将使用gpu加速。overflow-x隐藏在body标记上,以阻止滚动条出现。

代码语言:javascript
复制
body {
  min-width: 100vw;
  overflow-x: hidden;
  
}
.cloud {
  width: 100px;
  height: 50px;
  background: red;
  animation-name: cloud-animation;
  animation-fill-mode: forwards;
  animation-duration: 5s;
}

#cloud-2 {
  animation-delay: 0.2s;
}

#cloud-3 {
  animation-delay: 0.4s;
}

@keyframes cloud-animation {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100vw);
  }
}
代码语言:javascript
复制
<div id="cloud-1" class="cloud"></div>
<div id="cloud-2" class="cloud"></div>
<div id="cloud-3" class="cloud"></div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45825473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档