纯css实现竖向公告栏无缝滚动

  1. 通过translateY来进行滚动,滚动距离为100%,±控制方向
  2. 如果出现卡顿,大部分原因是边距问题,下面给大盒子添加了padding-top,不要用margin
// html
<view class="bullet">
  <view class="bullet_inner">
    <view class="bullet_wrap">
      <view class="bullet_item" a:for="{{ list }}">{{ item }}</view>
    </view>
    <view class="bullet_wrap">
      <view class="bullet_item" a:for="{{ list }}">{{ item }}</view>
    </view>
  </view>
</view>
.bullet {
  position: fixed;
  top: 375rpx;
  left: 25rpx;
  width: 330rpx;
  height: 110rpx;
  .bullet_inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    .bullet_wrap {
      padding-top: 8rpx;
      animation: roll 8s linear infinite;
      .bullet_item {
        height: 30rpx;
        line-height: 30rpx;
        text-align: center;
        font-size: 20rpx;
        color: #fff;
        background: linear-gradient(
          to right,
          rgba(0, 0, 0, 0) 0%,
          rgba(0, 0, 0, 0.3) 50%,
          rgba(0, 0, 0, 0) 100%
        );
      }
      .bullet_item:not(:last-child) {
        margin-bottom: 8rpx;
      }
    }
  }
}

@keyframes roll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

.swiper-item {
  display: block;
  height: 150px;
  margin: 10px;
}
.margin-t {
  margin-top: 24px;
}
.bc_red {
  background-color: red;
}
.bc_yellow {
  background-color: yellow;
}
.bc_blue {
  background-color: blue;
}

小福利~
Vue的无缝滚动插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值