1 效果展示
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f47a37de182631e2ce2099693a7ff14a.gif)
2 方法介绍
- 控制多行文本溢出省略:display: -webkit-box;-webkit-line-clamp: 3;overflow: hidden; -webkit-box-orient: vertical;
- 按钮右下角文字环绕布局:float: right;设置按钮局右,加一个before伪元素设置按钮局下
- 展开/收起状态切换:input type="checkbox"控制状态切换;伪元素动态设置按钮文本
3 代码实现
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.content {
display: flex;
margin: 20px;
}
.text {
width: 500px;
border: 1px solid skyblue;
font-size: 14px;
display: -webkit-box;
-webkit-line-clamp: 3;
overflow: hidden;
-webkit-box-orient: vertical;
}
.text::before {
content: '';
float: right;
width: 0;
height: 100%;
margin-bottom: -19px;
}
.btn {
float: right;
clear: both;
cursor: pointer;
color: dodgerblue;
}
.btn::after {
content: '展开';
}
#exp {
display: none;
}
#exp:checked+.text {
-webkit-line-clamp: 999;
}
#exp:checked+.text .btn::after {
content: '收起';
}
</style>
</head>
<body>
<div class="content">
<input type="checkbox" id="exp">
<div class="text">
<label class="btn" for="exp"></label>
<p>生活给予我挫折的同时,也赐予了我坚强,我也就有了另一种阅历。对于热爱生活的人,它从来不吝啬。 要看你有没有一颗包容的心,来接纳生活的恩赐。酸甜苦辣不是生活的追求,但一定是生活的全部。试着用一颗感恩的心来体会,你会发现不一样的人生。不要因为冬天的寒冷而失去对春天的希望。我们感谢上苍,是因为有了四季的轮回。拥有了一颗感恩的心,你就没有了埋怨,没有了嫉妒,没有了愤愤不平,你也就有了一颗从容淡然的心!</p>
</div>
</div>
</body>
</html>