就是做一个一条线在周围转啊转的效果

参考:
传送门 1
传送门 2
传送门 3
以上特效,f12 均可查看实现方式,甚至有的可以下载源码。
下面我把我做的边框流光特效实现贴出来,以便日后 ctrl CV

l
<li v-for="(item,index) in indoorParams" :key="index">
  //其他代码。。。
  <div class="animate-border">
    <i></i>
    <i></i>
  </div>
</li>
l
<style lang="scss">
ol li{
  /* border: 1px solid rgba(32,254,255,.3); */
  /* 宽高和相对定位是一定要给的,因为这会影响.animate-border 子元素的定位 */
  position: relative;
  width: 3rem;
  height: 5rem;
  overflow: hidden;
  /* 利用伪元素和两个 i 元素产生 4 条线 */
  .animate-border{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    &::before, &::after{
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
    }
    i {
      position: absolute;
      display: inline-block;
      height: 100%;
      width: 1px;
    }
    &::before{
      top: 0;
      left: -100%;
      background-image: linear-gradient(90deg,transparent,#03e9f4);
      /* name  duration timing-function delay iteration-count diraction */
      animation: one 4s linear infinite;
    }
    i:nth-child(1){
      top: -100%;
      right: 0;
      background-image: linear-gradient(180deg,transparent,#03e9f4);
      animation: two 4s linear 1s infinite;
    }
    &::after{
      bottom: 0;
      right: -100%;
      background-image: linear-gradient(-90deg,transparent,#03e9f4);
      animation: three 4s linear 2s infinite;
    }
    i:nth-child(2){
      bottom: -100%;
      left: 0;
      background-image: linear-gradient(360deg,transparent,#03e9f4);
      animation: four 4s linear 3s infinite;
    }
  }
}
@keyframes one {
  0% {
    left: -100%;
  }
  50%, 100% {
      left: 100%;
  }
}
@keyframes two {
  0% {
    top: -100%;
  }
  50%, 100% {
      top: 100%;
  }
}
@keyframes three {
  0% {
    right: -100%;
  }
  50%, 100% {
    right: 100%;
  }
}
@keyframes four {
  0% {
    bottom: -100%;
  }
  50%, 100% {
      bottom: 100%;
  }
}
</style>
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Roc 微信支付

微信支付

Roc 支付宝

支付宝