<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过渡动画</title>
</head>
<body>
<div id="app" class="container center">
<ul class="menu">
<li class="folder">
<label v-bind:class="{'open':open}" v-on:click="toggle">{{treeData.name}}</label>
</li>
<ul v-show="open" v-if="isFolder">
<li v-for="(item,index) in treeData.children" v-bind:key="index" class="item">
<label>{{item.name}}</label>
</li>
</ul>
</ul>
</div>
<script src="../js/vue.js"></script>
<script>
let vm = new Vue({
el:'#app',
data:{
open:false,
treeData:{
name:'Web开发',
children:[
{
name:'前端开发技术'
},
{
name:'后端开发技术'
},
{
name:'全栈开发技术'
}
]
}
},
computed:{
isFolder(){
return this.treeData.children && this.treeData.children.length > 0;
}
},
methods:{
toggle(){
if(this.isFolder){
this.open = !this.open;
}
}
}
});
</script>
<style type="text/css">
*,
*::after,
*::before{
box-sizing: border-box;
}
body{
margin: 0;
}
.container{
min-height: 100vh;
}
.center{
display: flex;
justify-content: center;
align-items: center;
}
ul{
list-style: none;
padding: 0px;
}
.menu{
width: 100%;
max-width: 600px;
margin: auto;
background-color: #bbbbbb;
}
.menu label{
position: relative;
display: block;
padding: 18px 18px 18px 45px;
color: #000000;
cursor: pointer;
}
.menu label::before{
display: inline-block;
position: absolute;
top:50%;
left: 18px;
transform: translateX(-50%);
font-size: 20px;
line-height: 1;
height: 22px;
}
.menu li.item > label::before{
content: "-";
}
.menu li.folder > label::before{
content: ">";
}
.menu label.open::before{
transform: translateY(-45%) rotate(90deg);
}
.menu ul{
background-color: #dddddd;
padding-left: 20px;
}
</style>
</body>
</html>
vue-前端第12章transition04.html
原创
©著作权归作者所有:来自51CTO博客作者虾米大王的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
vue-前端第12章transition12.html
【代码】vue-前端第12章transition12.html。
html javascript servlet css vue.js -
vue-前端第12章transition13.html
【代码】vue-前端第12章transition13.html。
html javascript servlet css vue.js -
vue-前端第12章transition09.html
【代码】vue-前端第12章transition09.html。
vue.js javascript 前端 html css -
vue-前端第12章transition07.html
【代码】vue-前端第12章transition07.html。
vue.js javascript 前端 html Math -
vue-前端第12章transition05.html
【代码】vue-前端第12章transition05.html。
html javascript 前端 ide 开发技术 -
vue-前端第12章transition02.html
【代码】vue-前端第12章transition02.html。
vue.js javascript 前端 ide html -
vue-前端第12章transition01.html
【代码】vue-前端第12章transition01.html。
vue.js javascript 前端 ide html -
vue-前端第12章transition11.html
【代码】vue-前端第12章transition11.html。
vue.js html css -
vue-前端第12章transition06.html
【代码】vue-前端第12章transition06.html。
vue.js ide html css -
vue-前端第12章transition03.html
【代码】vue-前端第12章transition03.html。
vue.js html 开发技术 css -
vue-前端第12章transition08.html
【代码】vue-前端第12章transition08.html。
vue.js html Math css -
vue-前端第12章transition10.html
【代码】vue-前端第12章transition10.html。
vue.js javascript 前端 html css -
vue-前端第4章class04.html
【代码】vue-前端第4章class04.html。
javascript 前端 css html Math -
vue-前端第8章demo04.html
【代码】vue-前端第8章demo04.html。
javascript html 前端 vue.js Vue -
vue-前端第3章computed04.html
【代码】vue-前端第3章computed04.html。
vue.js javascript 前端 html 响应式 -
vue-前端第6章form04.html
【代码】vue-前端第6章form04.html。
javascript 前端 html Pascal Python -
vue-前端第7章v-if04.html
【代码】vue-前端第7章v-if04.html。
vue.js javascript 前端 html Vue -
vue-前端第9章component04.html
【代码】vue-前端第9章component04.html。
vue.js html Vue -
vue-前端第2章instance04.html
【代码】vue-前端第2章instance04.html。
javascript vue.js 前端 ci html