主要观点总结
文章介绍了一个前端功能,即实现一个标题内容过长时,前后端展示完整内容,中间省略的效果。文章涵盖了实现思路、代码示例和相关知识点。
关键观点总结
关键观点1: 实现思路
获取标题盒子的真实宽度,通过计算文本的实际宽度与盒子宽度的对比,来判断文本是否超出盒子宽度,并计算截取位置的索引。
关键观点2: 代码实现
包括HTML结构、CSS样式和JavaScript代码。JavaScript代码中涵盖了获取盒子宽度、检测dom元素宽度、计算文本长度、设置文本内容等功能的实现。
关键观点3: 相关知识
介绍了判断文字被溢出隐藏的几种方法,包括使用Element-plus框架、创建隐藏的div模拟实际宽度、使用canvas的measureText方法和TextMetrics对象、使用css实现等。还介绍了JS获取字符串长度的几种常用方法,包括通过charCodeAt判断字符编码和将双字节字符替换成"aa"的做法。
文章预览
点击上方 前端Q ,关注公众号 回复 加群 ,加入前端Q技术交流群 前一阵做需求时,有个小功能实现起来废了点脑细胞,觉得可以记录一下。 产品的具体诉求是:用户点击按钮进入详情页面,详情页内的卡片标题内容过长时,标题的前后两端正常展示,中间用省略号...表示,并且鼠标悬浮后,展示全部内容。 关于鼠标悬浮展示全部内容的代码就不放在这里了,本文主要写关于实现中间省略号...的代码。 实现思路 获取标题盒子的真实宽度, 我这里用的是clientWidth; 获取文本内容所占的实际宽度; 根据文字的大小计算出每个文字所占的宽度; 判断文本内容的实际宽度是否超出了标题盒子的宽度; 通过文字所占的宽度累加之和与标题盒子的宽度做对比,计算出要截取位置的索引; 同理,文本尾部的内容需要翻转一下,然后计算索引,截取完之后再
………………………………