console
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport">
<meta name="renderer" content="webkit">
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
body {
font-size: 14px;
font-family: -apple-system, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Arial, sans-serif;
color: #27282b;
background: #fff;
}
a {
text-decoration: none;
color: #27282b;
}
*,
*::before,
*::after {
outline: none;
box-sizing: border-box;
}
html,
body {
height: 100%;
}
.d1 {
width: 50%;
height: 30px;
background: #eee;
user-select: none;
position: relative;
margin: 0 auto 20px auto;
}
.u5 {
width: 400px;
height: 400px;
box-shadow: 0 0 3px #e4e3e3;
user-select: none;
display: flex;
flex-wrap: wrap;
overflow: hidden;
margin: 0 auto;
}
.l4 {
width: 40px;
height: 40px;
display: flex;
border-radius: 3px;
justify-content: center;
align-items: center;
color: #8d8a8a;
font-size: 12px;
box-shadow: 0 0 0px 1px #e2e2e2 inset;
cursor: default;
}
.cell-move {
transition: 0.7s;
}
.l4:hover {
background: #f5f5f5;
}
</style>
</head>
<body>
<div class="wrapper" id="app">
<div class="d1" @click="func1">{{ msg }}</div>
<transition-group name="cell" tag="ul" class="u5">
<li class="l4" v-for="item of list" :key="item">{{ item }}</li>
</transition-group>
</div>
<script src="https://lib.baomitu.com/vue/2.6.10/vue.min.js"></script>
<script src="https://lib.baomitu.com/lodash.js/4.17.15/lodash.min.js"></script>
<script>
let vm = new Vue({
el: '#app',
data() {
return {
msg: 'click',
list: [...Array(100).keys()]
}
},
methods: {
func1() {
this.list = _.shuffle(this.list)
},
},
})
</script>
</body>
</html>