vue超过三行显示省略号和查看更多按钮

news/2024/12/2 5:01:25/

1、超过3行显示省略号和更多按钮,不超过3行正常显示;

html:

<div class="container"><div style="display: flex;"><div class="content"><div class="text-content" ref="textContentRef">{{ 文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容 || '-' }}</div></div><div class="btn"></div></div> </div>

js:

javascript">mounted () {this.$nextTick(() => {setTimeout(() => {    // 一定要加定时器,不然拿不到文本高度this.handleResume()}, 500);})
}
handleResume () {const maxHeight = 54 // 3行的高度,可以根据实际情况调整const btn = document.querySelector('.btn')const content = document.querySelector('.content')const textContent = document.querySelector('.text-content')const textHeight = textContent.getBoundingClientRect().height // 文本高度const contentHeight = content.getBoundingClientRect().height  // 容器高度// console.log(textHeight,'textHeight----');// console.log(maxHeight,'maxHeight------');btn.innerHTML = '...更多'let flag = falseif (textHeight <= maxHeight) {// btn.innerHTML = ''btn.style.display = 'none'} else {btn.style.display = 'block'}btn.addEventListener('click', () => {if (!flag) {content.style.maxHeight = textHeight+'px' // 铺开展示btn.innerHTML = '收起'flag = true} else {content.style.maxHeight = contentHeight+'px' // 铺开展示btn.innerHTML = '...展开'flag = false}})
},

css:

.container {position: relative;
}
.content {max-height: 54px;overflow: hidden;transition: max-height 0.5s;}
.text-content {font-size: 14px;line-height: 18px;
}
.btn {position: absolute;right: 0;bottom: 2px;background: linear-gradient(to right, rgba(255,255,255,0.2), #fff 35%);padding-left: 25px;color: #409eff;cursor: pointer;font-size: 14px;
}

效果图:

超过3行:
在这里插入图片描述
没超过3行:
在这里插入图片描述


http://www.ppmy.cn/news/1551669.html

相关文章

Linux kernel 堆溢出利用方法(三)

前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中任意地址申请的其中一种比赛比较常用的利用手法modprobe_path&#xff08;虽然在高版本内核已经不可用了但ctf比赛还是比较常用的&#xff09;。在通过两道道近期比赛的赛题来讲解。 Arbitrary Address Allocation…

用MATLAB符号工具建立机器人的动力学模型

目录 介绍代码功能演示拉格朗日方法回顾求解符号表达式数值求解 介绍 开发机器人过程中经常需要用牛顿-拉格朗日法建立机器人的动力学模型&#xff0c;表示为二阶微分方程组。本文以一个二杆系统为例&#xff0c;介绍如何用MATLAB符号工具得到微分方程表达式&#xff0c;只需要…

前端实现把整个页面转成PDF保存到本地(DOM转PDF)

一、问题 遇到一个需求&#xff0c;就是要把整个看板页面导出成PDF用在汇报&#xff0c;也就是要把整个DOM生成一个PDF保存到本地。 二、解决方法 1、解决思路&#xff1a;使用插件 jspdf 和 html2canvas&#xff0c;我用的版本如下图 2、代码实现 import { jsPDF } from …

C++算法练习-day52——216.组合总和3

题目来源&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目思路分析 题目描述&#xff1a;combinationSum3 问题要求从 1 到 9 的整数中找出所有可能的 k 个数的组合&#xff0c;使得这些数的和等于给定的整数 n。注意&#xff0c;这里的每个数字只能使用一次&…

将jar包导入maven

1.将jar包放repository 2.执行命令&#xff1a;mvn install:install-file -DgroupIdcom.oracle -DartifactIdojdbc7 -Dversion12.1.0.2 -Dpackagingjar -DfileD:\dev\utils\idea\repository\ojdbc7.jar -Dfile: 指定要安装的JAR文件的路径。 -DgroupId: 指定项目的groupId。 -…

Mybatis:CRUD数据操作之多条件查询及动态SQL

Mybatis基础环境准备请看&#xff1a;Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之多条件查询 1&#xff0c;编写接口方法 在 com.itheima.mapper 包写创建名为 BrandMapper 的接口。在 BrandMapper 接口中定义多条件查询的方法。 而该功能有三个参数&#xff0c;…

量化交易系统开发-实时行情自动化交易-8.4.MT4/MT5平台

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来会对于MT4/MT5平台介绍。 MetaT…

龙迅#LT8612UX适用于HDMI 转 HDMIVGA应用领域,分辨率高达4K60HZ,内置程序,方便调试!

1. 描述 LT8612UX 是一款 HDMI 转 HDMI&VGA 转换器&#xff0c;可将 HDMI2.0 数据流转换为 HDMI2.0 信号和模拟 RGB 信号。它还输出 8 通道 I2S 和 SPDIF 信号&#xff0c;可实现高质量的 7.1 通道音频。 LT8612UX 使用最新的 ClearEdge 技术&#xff0c;除了原始的 HDMI…