(编辑:jimmy 日期: 2024/11/2 浏览:2)
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>
总结