有時候在設計網頁的時候可能會遇到文字太長而導致頁面不太美觀,那麼如何來解決這個問題呢?本篇文章將為大家介紹關於css文字單行超出省略號以及多行文字超出省略號的實作方法。
首先我們來看看css實作單行文字超出省略號的方法。
css實作單行文字的溢出顯示省略號應該用text-overflow:ellipsis屬性來,當然還需要加寬度width屬來相容部分瀏覽。
css單行文字超出省略號的實作程式碼:
<!DOCTYPE html> <html> <head> <meta charset=utf-8"> <title>省略号 test</title> <style type="text/css"> *{ margin:0; padding:0; } body{ padding:10px; font-family:Arial; } #test { position:relative; width:150px; height:20px; line-height:20px; text-overflow:ellipsis; white-space:nowrap; *white-space:nowrap; overflow:hidden; border:1px solid #999; } #test span{ position:absolute; top:0; right:0; display:block; float:left; } </style> </head> <body> <div id="test">php中文网php中文网php中文网php中文网php中文网php中文网php中文网</div> </body> </html>
css單行文字超出省略號的效果如下:
#text-overflow:ellipsis屬性只支援單行文字的溢位顯示省略號,如果我們要實作多行文字溢位顯示省略號呢?下面我們就繼續說css實作多行文字超出省略號的方法。 (text-overflow:ellipsis屬性更多內容可參考css手冊)
#1、css實現多行文本超出省略號之直接用css屬性設定(只有-webkit內核才有作用)
語法:
overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
行動端瀏覽器絕大部分是WebKit核心的,所以此方法適用於行動端;
-webkit -line-clamp 用來限制在一個區塊元素顯示的文字的行數,這是一個不規範的屬性(unsupported WebKit property),它沒有出現在CSS 規範草案中。
display: -webkit-box 將物件顯示為彈性伸縮盒子模型 。
-webkit-box-orient 設定或檢索伸縮盒物件的子元素的排列方式 。
text-overflow: ellipsis 以用來多行文字的情況下,用省略號「…」隱藏超出範圍的文字。
2、css實作多行文字超出省略號之利用絕對定位和padding;(跨瀏覽器解決方案)
語法:
p{ position: relative; line-height: 20px; max-height: 40px; overflow: hidden; } p::after{ content: "..."; position: absolute; bottom: 0; right: 0; padding-left: 40px; background: -webkit-linear-gradient(left, transparent, #fff 55%); background: -o-linear-gradient(right, transparent, #fff 55%); background: -moz-linear-gradient(right, transparent, #fff 55%); background: linear-gradient(to right, transparent, #fff 55%); }
這個方法的原則是:首先在包含文字的元素裡,嵌入一個...,然後包含文字的元素右側留出...的位置(padding-right),最後利用絕對定位將...定位至右側的padding-right區域。
說明:此方法適用範圍廣,但文字未超出行的情況下也會出現省略號,可結合js最佳化此方法。
注意:
將height設定為line-height的整數倍,防止超出的文字露出。
為p::after新增漸層背景可避免文字只顯示一半。
由於ie6-7不顯示content內容,所以要新增標籤相容ie6-7(如:…);相容ie8需要將::after替換成:after 。
這篇文章到這裡就結束了,更多關於css文字超出省略號的內容可以關注php中文網。
以上是css文字單行超出和多行超出省略號分別如何實現?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在本週的綜述中:Firefox獲得了類似鎖匠的力量,三星的Galaxy Store開始支持Progressive Web Apps,CSS Subgrid正在Firefox發貨

在本週的綜述中:Internet Explorer進入Edge,Google搜索控制台吹捧新的速度報告,而Firefox給出了Facebook&#039; s Notification

蓋茨比(Gatsby)進行了出色的處理和處理圖像。例如,它可以幫助您節省圖像優化的時間,因為您不必手動


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具