如何使文字溢出时自动隐藏并显示省略号?

一、使用text-overflow属性

在CSS样式中使用text-overflow属性可以实现文字溢出时隐藏并显示省略号。该属性需要与overflow属性一起使用,它支持三个值:

text-overflow: clip; //默认值,直接截断
text-overflow: ellipsis; //用省略号表示被修剪的文本
text-overflow: string; //用给定的字符串表示被修剪的文本

例如:

.overflow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; //保证不换行
  width: 200px; //让容器被限制为 200 像素宽
}

二、使用JavaScript实现

如果需要动态计算文字长度,就需要使用JavaScript来实现。可以通过获取文本的大小和容器大小来判断是否需要省略。

<div id="container">
  <p id="text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus cumque consectetur, aspernatur officia debitis quaerat facilis odit totam praesentium voluptate? Facere sed eius repellendus aliquam incidunt dignissimos earum cupiditate error!</p>
</div>
<script>
  var text = document.getElementById("text");
  var container = document.getElementById("container");
  
  var containerWidth = container.offsetWidth;
  var textWidth = text.offsetWidth;
  
  if (textWidth > containerWidth) {
    var textContent = text.textContent;
    
    while (textWidth > containerWidth) {
      textContent = textContent.slice(0, -1);
      text.textContent = textContent + "...";
      textWidth = text.offsetWidth;
    }
  }
</script>

三、使用jQuery插件

如果使用jQuery,可以使用它提供的插件jquery.dotdotdot来实现。可以通过简单的配置来实现省略号的效果。

//引入jQuery和jquery.dotdotdot插件库
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery.dotdotdot/1.9.1/jquery.dotdotdot.min.js"></script>
  
<div class="text">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus minima quod reprehenderit, nobis autem, quos dolorem cupiditate non aliquam modi ipsa cumque saepe iste, sunt recusandae id omnis necessitatibus.
</div>

<script>
  $(document).ready(function() {
    $('.text').dotdotdot({
      height: 100,
      ellipsis: '...',
      wrap: 'word',
      fallbackToLetter: true,
      watch: true
    });
  });
</script>

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/287322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-23 13:07
下一篇 2024-12-23 13:07

相关推荐

  • Python飞机大战中文字资源分析

    Python飞机大战是一款经典的飞行射击游戏,在游戏过程中,玩家需要控制一架飞机不断消灭敌人,生存到最后。该游戏使用Python语言编写,其中涉及到的文字资源对游戏的整体体验有重要…

    编程 2025-04-29
  • Python如何打出精美文字

    Python作为一种高级编程语言,拥有广泛的应用领域。其中最常见的一项应用就是文字处理。Python可以帮助我们打出各种类型的文字,从简单的文本到复杂的图形和音频文件都不在话下。 …

    编程 2025-04-28
  • Python定位文字的实现方法

    本文将从多个方面对Python定位文字进行详细的阐述,包括字符串匹配、正则表达式和第三方库等方面。 一、字符串匹配 字符串匹配是最基础的Python定位文字方法,适用于简单的字符串…

    编程 2025-04-28
  • 使用Python绘图时如何添加文字

    在Python中绘图是一种十分重要的数据可视化方式,而其中添加文字则是让图像更加生动、信息更加详细的重要手段。本篇文章可以帮助您学习如何在绘图中添加文字。在代码中,我们将使用mat…

    编程 2025-04-28
  • 自动换行后不能全部显示文字的解决方法

    在网页设计中,自动换行是非常必要的。但是有时候会出现自动换行后不能全部显示文字的情况。下面将从多个方面阐述这个问题的解决方法。 一、字号和行高 字号和行高是影响内容显示的两个重要因…

    编程 2025-04-27
  • 使用词云图生成器网站,让文字更美丽

    词云图是一种非常实用的工具,通过它可以直观地展示出文字内容的重点。而作为一个全能编程开发工程师,你一定需要掌握一些生成词云图的技巧。这篇文章将从多个方面详细阐述使用词云图生成器网站…

    编程 2025-04-27
  • 腾讯会议语音转文字导出教程

    本文将从多个方面对腾讯会议语音转文字导出进行详细阐述,包括使用方法、技巧、注意事项等。 一、使用方法 1、进入腾讯会议,选择需要导出语音的会议记录,在会议记录处点击“导出”。 im…

    编程 2025-04-27
  • CSS文字居中详解

    一、CSS文字居中对齐 CSS中的text-align属性可以实现文字的水平对齐,可以设置为left、right、center,其中center就是实现居中对齐的属性。 p { t…

    编程 2025-04-23
  • 深入浅出Markdown文字颜色

    一、Markdown文字颜色的背景 Markdown是一种轻量级标记语言,由于其简单易学、易读易写,被广泛应用于博客、文档、代码注释等场景。Markdown支持使用HTML标签,因…

    编程 2025-04-23
  • 最新ASCII艺术生成器-体验全新的文字创意表达方式

    在数字化的时代,人们越来越依赖于图片和视频进行信息传递和分享,但文字依然是不可或缺的一个表达方式。传统的文字表达方式虽然简单直观,但是缺乏足够的视觉冲击力。ASCII艺术生成器的出…

    编程 2025-04-22

发表回复

登录后才能评论