CSS超出兩行及多行省略號的樣式設置

一、基礎使用

用CSS設置文本省略號,一般情況下只需要添加如下代碼即可:


/* 單行省略號 */
text-overflow:ellipsis;
overflow:hidden;
white-space:nowrap;

/* 多行省略號 */
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;

代碼注釋中的第一段是單行省略號的常用設置,主要通過overflow:hidden;white-space:nowrap; 來設置文本的隱藏和不換行,再加上text-overflow:ellipsis; 來顯示省略號。而第二段是多行省略號的常用設置,主要通過display: -webkit-box;-webkit-line-clamp: 2; 來控制文本顯示的行數,並加上overflow: hidden; 來隱藏省略的多餘文本內容。

二、樣式設置

上述使用方法中提到的樣式效果相對簡單,只有一種省略號樣式,並且只能設置具體的行數。實際情況中,我們需要更多種類的省略號樣式,比如:多行省略號中省略號位置的調整、省略號和文本間距的控制等等。下面是一些常用的技巧,通過巧妙地CSS設置,可以實現更多樣式效果。

1. 調整多行省略號中省略號的位置

默認情況下,多行省略號中省略號的位置是居中的,想要調整位置需要使用一些技巧,下面是一種方法:


.clamp {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-height: 1.2;  /* 行高 */
  max-height: 3.6em; /* 最大高度 = 行高 x 行數 */
  font-size: 16px;
}
/* 使用偽元素,實現省略號位置的調整 */
.clamp::after {
  content: "...";
  position: absolute;
  right: 0;         /* 距離父元素右側 */
  bottom: 0;        /* 距離父元素底部 */
  padding-left: 30px; /* 省略號和文本間距,根據實際情況調整 */
}

上述代碼中,.clamp 是包含文本內容的父元素,通過設置max-heightline-height 控制文本顯示的行數和行高。其中line-height * 行數 = max-height。在偽元素::after中,使用position:absolute; 將省略號定位到父元素右下角,通過調整padding-left 控制省略號與文本的間距,從而實現省略號位置的調整。

2. 調整省略號和文本的間距

我們經常需要調整省略號與文本的間距,讓布局更加美觀。這裡提供兩種方法:


/* 方法一:使用 text-indent */
.clamp {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-height: 1.2;  /* 行高 */
  max-height: 3.6em; /* 最大高度 = 行高 x 行數 */
  font-size: 16px;
  text-indent: 1em;  /* 省略號和文本間隔,根據實際情況調整 */
}

/* 方法二:使用 margin-right */
.clamp {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-height: 1.2;  /* 行高 */
  max-height: 3.6em; /* 最大高度 = 行高 x 行數 */
  font-size: 16px;
}
/* 設置省略號與文本間隔 */
.clamp::after {
  content: "...";
  float: right;     /* 省略號靠右顯示 */
  margin-right: 5px; /* 省略號和文本間隔,根據實際情況調整 */
}

方法一中,使用text-indent 設置文本縮進的大小,從而達到控制省略號和文本間距的效果。在方法二中,使用CSS浮動來將省略號靠右顯示,再通過margin-right 屬性來控制省略號和文本間的距離。

三、總結

通過本文的介紹,相信讀者們可以掌握常見的CSS超出兩行及多行省略號的樣式設置方法。除了基礎使用外,更多樣式設置需要結合實際情況進行探索,靈活應用CSS技巧,才能實現更加美觀實用的效果。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:58
下一篇 2024-12-12 11:58

相關推薦

  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • Python分兩行輸出,在第一行中輸出為什麼

    Python是一種非常有趣和強大的編程語言,具有廣泛的應用。而Python分兩行輸出的方法可能在學習Python編程時會接觸到,這種方法能夠幫助程序員更好地理解Python的輸出機…

    編程 2025-04-28
  • CSS sans字體家族

    CSS sans字體家族是一組基於CSS的無襯線字體,具有在不同設備和瀏覽器上保持一致的特性。本文將從優勢、使用、自定義等多個方面對CSS sans字體家族進行詳細介紹。 一、優勢…

    編程 2025-04-28
  • JFXtras樣式——美化JavaFX應用的必備神器

    本文將從多個方面對JFXtras樣式進行詳細的闡述,教你如何使用JFXtras樣式來美化你的JavaFX應用。無需任何前置知識,讓我們一步步來了解。 一、簡介 JFXtras是一個…

    編程 2025-04-27
  • 如何用Python輸出兩行中文字元

    在此篇文章中,我們將探討如何使用Python輸出兩行中文字元。具體而言,我們將從以下幾個方面進行闡述: 一、Python中文輸出的基礎知識 在開始探討如何輸出中文字元之前,我們需要…

    編程 2025-04-27
  • SVG與CSS

    一、SVG與CSS的介紹 SVG(可縮放矢量圖形)是用於描述二維矢量圖形的XML標記語言。其可以通過文本編輯器進行編輯,也可以通過JavaScript動態操作SVG元素。與常規圖像…

    編程 2025-04-25
  • CSS教程:從入門到精通

    一、CSS是什麼 CSS(Cascading Style Sheets)是一種用於定義網頁樣式的語言。由於網頁內容和樣式是分開保存的,因此CSS可以使設計者和開發者分離出樣式與內容…

    編程 2025-04-25
  • 如何優雅地改變滑鼠指針樣式

    我們在網頁設計中,經常會遇到需要改變滑鼠指針樣式的情況,比如當我們將滑鼠移動到一個鏈接上時,我們希望滑鼠指針變成手型,這時我們就需要用到改變滑鼠指針樣式的技巧。本文將從多個方面詳細…

    編程 2025-04-25
  • CSS 事件穿透

    在 Web 開發中,CSS 負責網頁的樣式,而 JavaScript 負責網頁的行為。雖然兩者有不同的職責,但在實際的開發過程中,我們經常會遇到將二者結合起來的場景。比如需要通過 …

    編程 2025-04-25
  • CSS投影的全面解析

    一、投影簡介 CSS投影是指在HTML元素周圍創建出一種類似於投影的效果,從而增強元素的立體感和深度感。投影可以幫助設計師和開發人員在設計頁面時提升視覺效果,提高頁面的可讀性和易用…

    編程 2025-04-24

發表回復

登錄後才能評論