网页制作 
首页 > 网页制作 > 浏览文章

通过css动画实现一个表格滚动轮播效果

(编辑:jimmy 日期: 2024/11/6 浏览:3 次 )

css动画的一个应用,与此前的css走马灯同样的内容。只是一次不同的应用,具体实现如下

通过css动画实现一个表格滚动轮播效果

<template>
  <section>
    <div class="box">
      <ul class="header">
        <li class="cell">序号</li>
        <li class="cell">姓名</li>
        <li class="cell">年龄</li>
        <li class="cell">性别</li>
        <li class="cell">专业</li>
      </ul>
      <div class="body">
        <ul class="list">
          <li
            v-for="(item, index) in arr"
            :key="index"
            class="row"
          >
            <span class="cell">{{ item }}</span>
            <span v-for="(n) in 4" :key="n*30" class="cell">{{ n }}</span>
          </li>
        </ul>
      </div>
    </div>
  </section>
</template>

<script>
export default {
  data() {
    return {
      arr: [],
    }
  },
  created() {
    this.arr = Array.from(new Array(20), (v, k) => {
      return k + 1
    })
    // 表格显示5行数据,此处复制开头的5条数据实现无缝
    this.arr = this.arr.concat(this.arr.slice(0, 5))
  }
}
</script>

<style lang="scss">
$cellHeight: 30px;
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.box {
  width: 60%;
  margin: auto;
}
.header {
  display: flex;
}
.body {
  height: 5 * $cellHeight;
  overflow: hidden;
  // padding-bottom: 10px;
  li {
    display: flex;
    height: $cellHeight;
  }
}
.cell {
  flex: 1;
  height: $cellHeight;
  line-height: $cellHeight;
  border: 1px solid #e2e2e2;
  box-sizing: border-box;
}
.list {
  animation: scroll 10s  linear infinite;
  position: relative;
}

@keyframes scroll {
  from { top: 0; }
  to { top: -20 * $cellHeight }
}
</style>

总结

上一篇:巧用CSS属性值正则匹配选择器(小技巧)
下一篇:CSS实现两栏布局,左边固定,右边自适应的4种方法