如何让多行文本显示省略号

一、使用CSS的text-overflow属性实现省略号

在<style>标签内,添加text-overflow属性,设置overflow为hidden,同时设置white-space为nowrap,即可实现多行文本省略号的效果。

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

在HTML中,给需要加省略号的文本元素添加class=”ellipsis”即可。

二、使用JavaScript计算文本宽度实现省略号

如果要求实现更精确的省略号效果,可以使用JavaScript计算文本的宽度,根据宽度来截取文本并添加省略号。

首先,HTML结构如下:

<div id="ellipsis">
    <span id="text">这是一段要进行省略号处理的文本</span>
</div>

然后,在JavaScript中,计算文本的宽度,截取文本并添加省略号:

const ellipsis = document.getElementById('ellipsis');
const text = document.getElementById('text');
const textWidth = text.clientWidth;
const ellipsisWidth = ellipsis.clientWidth;

if (textWidth > ellipsisWidth) {
   const textContent = text.textContent;
   let newText = '';
   for (let i = 0; i < textContent.length; i++) {
       newText += textContent[i];
       if ((text.cloneNode(true)).textContent !== newText) {
           text.textContent = newText + '...';
           break;
       }
   }
}

三、更多技巧

1、使用CSS3的line-clamp属性可以更方便地实现多行文本省略号效果。例如:

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

这里设置了-webkit-line-clamp为3,即最多显示3行文本,超过3行则自动省略号。

2、可以根据不同的需求,定制化省略号的样式,例如颜色、字号、背景色等。需要注意的是,如果在:before或:after伪元素中添加省略号,需要注意伪元素的content属性值是否为字符串,否则需要使用attr()函数来获取元素的属性值,例如:

.ellipsis:before {
    content: "\2026";  /*省略号字符*/
    color: red;
}

四、总结

通过使用CSS和JavaScript,我们可以方便地实现多行文本省略号效果。在实际项目中,我们需要根据具体的需求和效果要求来选择使用哪种方法,以最佳的用户体验和代码效率为目标。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 07:51
下一篇 2024-11-29 07:59

相关推荐

  • CSS多行文本溢出显示省略号

    一、基本概念 CSS多行文本溢出显示省略号是一种常见的页面排版技巧,通过设置CSS样式,使元素内的文本内容超出指定的宽度或高度时,自动显示省略号,从而提升页面的可读性和美观性。实现…

    编程 2025-04-20
  • Latex省略号

    一、省略号使用场景 在论文、书籍等文本排版中,经常需要使用省略号。常见的使用场景有: 1、表示对话或引文中省略部分内容: \ldots 他说:“我认为这个问题应该这样解决……” 2…

    编程 2025-02-15
  • CSS 超出显示省略号

    在前端开发中,经常需要对一些过长的文本进行缩略显示,这时候就需要用到 CSS 的超出显示省略号的功能。本文将从多个方面对该功能做详细的阐述。 1、基础用法 CSS 的超出显示省略号…

    编程 2025-02-05
  • 如何实现elementui超出后省略号

    在web开发中,我们经常遇到这种情况,当文本内容超出部分被省略号代替,以便更好的展示内容。本文将从多个方面详细阐述如何实现elementui超出后省略号的效果。 一、使用CSS样式…

    编程 2025-02-05
  • 如何优雅地处理文本超出2行显示省略号 | 技巧分享

    在网页开发中,我们常常需要对文本进行限制,以保证用户界面的美观性和良好的用户体验。如果文本内容过长,不做处理的话,会让页面显示效果变得非常的杂乱无章。本文将会介绍一些优雅处理文本超…

    编程 2025-01-16
  • CSS文本超出就隐藏并且显示省略号的实现方法

    CSS文本超出就隐藏并且显示省略号是在开发网页时很常见的需求,比如在列表页中,当每行的文本内容过长时,超出显示区域;再例如,当文本内容过多时,需截取部分内容显示,并以省略号结尾。下…

    编程 2024-12-31
  • CSS超出两行显示省略号

    一、CSS超出显示省略号 当文本长度超过所在容器的宽度时,CSS提供了文本溢出隐藏属性来避免文本溢出容器。通过text-overflow属性来设置文本显示方式为省略号,具体有三个值…

    编程 2024-12-29
  • 如何使CSS文字自动显示省略号?

    一、为什么需要CSS文字自动显示省略号? CSS文字自动显示省略号是一种常见的需求,它可以在界面上优化显示效果,避免因为文字过长而导致布局出现问题。比如在新闻列表、文章标题、搜索结…

    编程 2024-12-29
  • CSS超出显示省略号

    一、鼠标移入显示 在一些需要强调的地方,我们可以设置鼠标移入时显示全部内容,以避免省略号的出现。我们可以借助CSS中的: hover伪类来实现。例如,我们可以将一段长文字放在一个带…

    编程 2024-12-24
  • 如何优化CSS文字,实现省略号效果

    CSS文字省略号效果是我们在网站和应用程序中应用广泛的一种技术,它使得长文字块的显示更加简洁和美观。但是,缺乏正确的CSS优化技巧可能会导致排版混乱或者性能降低。在本文中,我们将从…

    编程 2024-12-24

发表回复

登录后才能评论