首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有阻塞JavaScript的CSS Shimmer效果

带有阻塞JavaScript的CSS Shimmer效果
EN

Stack Overflow用户
提问于 2019-10-14 02:52:14
回答 1查看 2.2K关注 0票数 3

我有一个带有以下CSS的shimmer React组件

代码语言:javascript
复制
background: #ebebeb;
background-image: linear-gradient(to right,  #ebebeb 0%, #c5c5c5 20%,  #ebebeb 40%,  #ebebeb 100%);

我应用于它的动画关键帧如下:

代码语言:javascript
复制
{
    0%: { background-position: -468px 0 };
    100%: { background-position: 468px 0 };
}

我的主页装载量很大。因此动画冻结了大约一秒钟左右。我读到动画转换是在线程外的https://www.phpied.com/css-animations-off-the-ui-thread/上完成的

有没有人能帮我用类似的离线方式来做我的闪光效果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 03:18:05

按照链接中的建议使用transform。这是一个关于伪元素的想法:

代码语言:javascript
复制
.box {
  background-image: linear-gradient(to right, #ebebeb calc(50% - 100px), #c5c5c5 50%, #ebebeb calc(50% + 100px));
  background-size:0;
  height: 200px;
  position:relative;
  overflow:hidden;
}
.box::before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:calc(200% + 200px);
  bottom:0;
  background-image:inherit;
  animation:move 2s linear infinite; 
}
@keyframes move{
  to {
    transform:translateX(calc(50% + 100px));
  }
}
代码语言:javascript
复制
<div class="box">

</div>

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

https://stackoverflow.com/questions/58366774

复制
相关文章

相似问题

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