如何使文字溢出時自動隱藏並顯示省略號?

一、使用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/zh-tw/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

發表回復

登錄後才能評論