当前位置: 首页 > news >正文

uniapp 小程序 CSS 实现多行文本展开收起 组件

效果

在这里插入图片描述
在这里插入图片描述

组件

<template><!-- 最外层弹性盒子 --><div class="box" :style="boxStyle"><!-- 文本区域,动态类名控制展开/收起状态 --><div ref="textRef" :class="['text-cont', btnFlag ? 'text-unfold' : 'text-collapse']"><!-- 展开/收起按钮 --><div class="unfold-and-collapse" @click="btnFlagChange">{{ btnFlag ? '收起' : '展开' }}</div><!-- 文本内容(保留首行缩进) -->&emsp;&emsp;{{ text }}</div></div>
</template><script>export default {name: 'ExpandableText',props: {text: {type: String,default: ''},boxStyle: {type: String,default: ''}},data() {return {// 展开收起状态btnFlag: false}},methods: {// 切换展开/收起状态 btnFlagChange() {this.btnFlag = !this.btnFlag}}}
</script><style scoped>/* 最外层开启弹性盒子,用于伪元素的高度计算 */.box {display: flex;}/* 文本区域设置宽度,显示省略号 */.text-cont {width: 100%;margin: 0px auto 0;display: -webkit-box;/* 必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式 */-webkit-box-orient: vertical;/* 溢出部分隐藏 */overflow: hidden;/* 文字居左 */text-align: left;font-family: PingFangSC, PingFang SC;font-weight: 500;font-size: 26rpx;color: #000000;line-height: 44rpx;font-style: normal;}/* 展开状态 - 显示所有行 */.text-unfold {-webkit-line-clamp: 9999;}/* 收起状态 - 只显示3行 */.text-collapse {-webkit-line-clamp: 3;}/* 展开/收起按钮样式 */.unfold-and-collapse {color: #19aaff;float: right;clear: both;margin-right: 10px;cursor: pointer;font-size: 26rpx;line-height: 44rpx;margin-top: -6rpx;}/* 伪元素用于实现文字包裹按钮 */.text-cont::before {content: "";float: right;width: 0;height: calc(100% - 20px);}
</style>
http://www.dtcms.com/a/199153.html

相关文章:

  • java每日精进 5.19【Excel 导入导出】
  • 《虚实共生:双向映射重塑具身智能决策逻辑》
  • 如何在 MongoDB 中设计文档结构?与关系型数据库的表结构设计有何不同?
  • FPGA 串口_波特率计算
  • 以用户为中心的产品才是好产品
  • 使用Python和FastAPI构建网站爬虫:Oncolo医疗文章抓取实战
  • 企业开发工具git的使用:从入门到高效团队协作
  • 【MySQL进阶】了解linux操作系统下mysql的配置文件和常用选项
  • MySQL故障排查与生产环境优化
  • 二分交互题总结
  • C# NX二次开发-求体、面的最小包容圆柱
  • 游戏引擎学习第294天:增加手套
  • 仓颉开发语言入门教程:搭建开发环境
  • Elasticsearch 深入分析三种分页查询【Elasticsearch 深度分页】
  • 2.微服务-配置
  • Jenkins 使用技巧
  • Dify-3:系统架构
  • JavaScript 中使用 Elasticsearch 的正确方式,第一部分
  • windows服务器部署jenkins工具
  • 26、DAPO论文笔记(解耦剪辑与动态采样策略优化,GRPO的改进)
  • GraphQL在.NET 8中的全面实践指南
  • java配置webSocket、前端使用uniapp连接
  • esp32课设记录(五)整个项目开源github
  • CI/CD 深度实践:灰度发布、监控体系与回滚机制详解
  • 每日Prompt:自拍生成摇头娃娃
  • 【General Agent Benchmark】论文分享No.12:LLF-Bench
  • Java大师成长计划之第27天:RESTful API设计与实现
  • 解锁MySQL性能调优:高级SQL技巧实战指南
  • 5.19打卡
  • SID 2025上的天马,用“好屏”技术重构产业叙事