不是v-for方式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.container {
width: 800px;
position: relative;
padding-bottom: 20px;
}
.content {
overflow: hidden;
line-height: 1;
/* 最多展示几行就(n*line-height)em, */
height: 3em;
background: yellow;
}
.more {
position: absolute;
bottom: 0;
right: 0;
background: blue;
color: white;
}
.more::after {
content: '展开';
}
.check {
display: none;
}
.check:checked ~ .content {
height: auto;
}
.check:checked ~ .more::after {
content: '收起';
}
</style>
</head>
<body>
<div class="container">
<input
class="check"
type="checkbox"
id="check" />
<label
class="more"
for="check"></label>
<div class="content">
<div class="content">
<div v-for="item in 5">一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区
</div>
</div>
</div>
</body>
</html>
v-for方式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.16"></script>
<style>
.container {
width: 800px;
position: relative;
padding-bottom: 20px;
}
.content {
overflow: hidden;
line-height: 1;
/* 最多展示几行就(n*line-height)em, */
height: 3em;
background: yellow;
}
.more {
position: absolute;
bottom: 0;
right: 0;
background: blue;
color: white;
}
.more::after {
content: '展开';
}
.check {
display: none;
}
.check:checked~.content {
height: auto;
}
.check:checked~.more::after {
content: '收起';
}
</style>
</head>
<body>
<div id="app" class="container">
<input class="check" type="checkbox" id="check" checked/>
<label class="more" for="check"></label>
<div class="content">
<div v-for="item in 5">一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区</div>
<div>一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区一个帮助开发者成长的社区
</div>
</div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {}
})
</script>
</body>
</html>