如何優雅地處理文本超出2行顯示省略號 | 技巧分享

在網頁開發中,我們常常需要對文本進行限制,以保證用戶界面的美觀性和良好的用戶體驗。如果文本內容過長,不做處理的話,會讓頁面顯示效果變得非常的雜亂無章。本文將會介紹一些優雅處理文本超出2行顯示省略號的技巧。

一、CSS屬性

第一種處理方式是使用CSS屬性處理。CSS3中的text-overflow屬性,可以將顯示超出文本框的文本省略掉。text-overflow屬性一般結合white-space:nowrap和overflow:hidden一起使用。white-space:nowrap可以防止文本在到達容器結尾時換行,overflow:hidden則使得超出容器的內容被隱藏掉,只顯示省略號。

.text-container {
    width: 300px;
    height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

二、JavaScript方法

第二種處理方式是使用JavaScript來實現。使用JavaScript實現時,需要先計算出文本的高度,如果文本超出兩行,則截取文本並加上省略號。這裡需要用到offsetHeight和scrollHeight這兩個屬性。offsetHeight返回的是元素的像素高度,包含padding和border的高度;scrollHeight返回的是元素的實際內容高度。

function setText(container, text) {
    container.innerHTML = text;
    if(container.offsetHeight > 40) {
        var maxLines = 2;
        var lineHeight = parseInt(getComputedStyle(container).lineHeight);
        var overflowHeight = container.offsetHeight - (lineHeight * maxLines);
        var index = Math.floor((text.length * overflowHeight) / container.scrollHeight);
        container.innerHTML = text.slice(0, index) + '...';
    }
}

三、jQuery插件

第三種方式是使用jQuery插件實現。jQuery插件有很多,其中比較常用的是dotdotdot.js。dotdotdot.js是一個輕量級、基於jQuery的插件,其可以在文本超出預設高度時將文本截取並添加省略號。

$(".text-container").dotdotdot({
    height: 40,
    watch: true
});

四、結論

處理文本超出2行顯示省略號,有多種方法可供選擇。CSS屬性是最簡單、最常用的一種方法,而JavaScript方法適用於動態生成的文本,可以更加靈活地控制文本截取。如果使用jQuery,可以直接使用dotdotdot.js來實現文本截取。不同的處理方式適用於不同的場景,根據實際情況選擇最合適的一種方法即可。

原創文章,作者:UGQPB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330311.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UGQPB的頭像UGQPB
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟體開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟體開發中,UML圖是必不可少的重要工具之一。它為軟體架構和各種設計模式的…

    編程 2025-04-29
  • 如何優雅地吃葡萄不吐葡萄皮

    要想吃葡萄不吐葡萄皮,首先要學會剝皮,然後就可以慢慢地品嘗了。 一、正確的剝皮方法 使用下面的代碼可以達到正確的剝皮方法: function peelGrape(grape) { …

    編程 2025-04-29
  • 優秀周記1000字的撰寫思路與技巧

    優秀周記是每個編程開發工程師記錄自己工作生活的最佳方式之一。本篇文章將從周記的重要性、撰寫思路、撰寫技巧以及周記的示例代碼等角度進行闡述。 一、周記的重要性 作為一名編程開發工程師…

    編程 2025-04-28
  • Python文本居中設置

    在Python編程中,有時需要將文本進行居中設置,這個過程需要用到字元串的相關函數。本文將從多個方面對Python文本居中設置作詳細闡述,幫助讀者在實際編程中運用該功能。 一、字元…

    編程 2025-04-28
  • 文本數據挖掘與Python應用PDF

    本文將介紹如何使用Python進行文本數據挖掘,並將著重介紹如何應用PDF文件進行數據挖掘。 一、Python與文本數據挖掘 Python是一種高級編程語言,具有簡單易學、代碼可讀…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Navicat導出欄位識別為文本而不是數值

    解決方法:使用特定的代碼將導出的欄位識別為文本,而不是數值,下面將從多個方面進行詳細闡述。 一、ASCII碼轉換 在導出的文件中,將數值欄位使用ASCII碼轉換,即可讓這些欄位被識…

    編程 2025-04-28
  • 如何優雅地排版套打證書

    本文將從多個方面,為大家介紹如何優雅地排版套打證書,並給出相應的代碼示例。 一、選擇合適的字體 套打證書的字體必須要優雅、大方、優秀、清晰,所以應該選擇像宋體、楷體、方正、微軟雅黑…

    編程 2025-04-28
  • Python文本處理第三方庫有哪些

    Python是一種高級語言,它的功能非常強大和全面,其中最重要之一就是它的文本處理能力。文本處理對於自然語言處理以及大數據分析都有著非常重要的作用。Python的標準庫提供了字元串…

    編程 2025-04-27
  • 堆疊圖配色技巧分享

    堆疊圖是數據可視化中常用的一種表現形式,而配色則是影響堆疊圖觀感和傳達信息的重要因素之一。本文將分享一些堆疊圖配色的技巧,幫助你創造更好的數據可視化。 一、色彩搭配原則 色彩是我們…

    編程 2025-04-27

發表回復

登錄後才能評論