多行文字溢位顯示省略號(…)全攻略
大家應該都知道用text-overflow:ellipsis
屬性來實現單行文字的溢位顯示省略號(…)。當然部分瀏覽器還需要加寬度width
屬性。
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
但是這個屬性並不支援多行文字溢位顯示省略號,這裡根據應用場景介紹幾個方法來實現這樣的效果。
WebKit瀏覽器或移動端的頁面
在WebKit瀏覽器或移動端(絕大部分是WebKit核心的瀏覽器)的頁面實現比較簡單,可以直接使用WebKit的CSS擴充套件屬性(WebKit是私有屬性)-webkit-line-clamp
;注意:這是一個
不規範的屬性(
-webkit-line-clamp
用來限制在一個塊元素顯示的文字的行數。
為了實現該效果,它需要組合其他的WebKit屬性。
常見結合屬性:
-
display: -webkit-box;
必須結合的屬性 ,將物件作為彈性伸縮盒子模型顯示 。 -
-webkit-box-orient
必須結合的屬性 ,設定或檢索伸縮盒物件的子元素的排列方式 。 -
text-overflow: ellipsis;
,可以用來多行文字的情況下,用省略號“…”隱藏超出範圍的文字 。
- overflow : hidden;
- text
- display:-webkit-box;
- -webkit-line-clamp:2;
- -webkit-box-orient: vertical;
這個屬性比較合適WebKit瀏覽器或移動端(絕大部分是WebKit核心的)瀏覽器。
跨瀏覽器相容的方案
比較靠譜簡單的做法就是設定相對定位的容器高度,用包含省略號(…)的元素模擬實現;
例如:
- p {
- position:relative;
- line-height:1.4em;
- /* 3 times the line-height to show 3 lines */
- height:4.2em;
- overflow:hidden;
- }
- p::after {
- content:"...";
- font-weight:bold;
- position:absolute;
- bottom:0;
- right:0;
- padding:020px1px45px;
- background:url(http://css88.b0.upaiyun.com/css88/2014/09/ellipsis_bg.png) repeat-y;
- }
看demo:
這裡注意幾點:
- height高度真好是
line-height
的3倍; - 結束的省略好用了半透明的png做了減淡的效果,或者設定背景顏色;
- IE6-7不顯示
content
內容,所以要相容IE6-7可以是在內容中加入一個標籤,比如用<span class="line-clamp">...</span>
去模擬; - 要支援IE8,需要將
::after
替換成:after
;
JavaScript 方案
用js也可以根據上面的思路去模擬,實現也很簡單,推薦幾個做類似工作的成熟小工具:
1.Clamp.js
- var module = document.getElementById("clamp-this-module");
- $clamp(module,{clamp:3});
DEMO:
2.jQuery外掛-jQuery.dotdotdot
這個使用起來也很方便:
- $(document).ready(function(){
- $("#wrapper").dotdotdot({
- // configuration goes here
- });
- });
相關推薦
多行文字溢位顯示省略號(…)全攻略
大家應該都知道用text-overflow:ellipsis屬性來實現單行文字的溢位顯示省略號(…)。當然部分瀏覽器還需要加寬度width屬性。 overflow: hidden;text-overflow: ellipsis;white-space: nowrap; 但是這個屬性並不支援多行文字溢位顯
CSS單行、多行文字溢位顯示省略號(……)解決方案
單行文字溢位顯示省略號(…) text-overflow:ellipsis-----部分瀏覽器還需要加寬度width屬性 .ellipsis{ overflow: hidden; text-overflow:ellipsis; white-space: nowrap; di
CSS實現單行、多行文字溢位顯示省略號(…)
如果實現單行文字的溢位顯示省略號同學們應該都知道用text-overflow:ellipsis屬性來,當然還需要加寬度width屬來相容部分瀏覽。 實現方法: overflow: hidden; text-overflow:ellipsis; white-spa
CSS實現單行、多行文字溢位顯示省略號 ...
頁面結構程式碼: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8">
css單行 多行 文字溢位顯示省略號
單行文字溢位顯示省略號 overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 多行文字溢位顯示省略號 overflow: hidden; text-overflow: ellip
單行與多行文字溢位顯示省略號
需設定寬度才能溢位顯示省略號。 單行文字: .am-text-truncate { word-wrap: normal; /* for IE */ text-overflow: el
css實現單行和多行文字溢位顯示省略號點點點...
一、單行文字溢位顯示省略號點點點... overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 二、多行文字溢位顯示省略號點點點... display: -webkit-box; -webkit
CSS實現單行、多行文字溢位顯示省略號
如果實現單行文字的溢位顯示省略號同學們應該都知道用text-overflow:ellipsis屬性來,當然還需要加寬度width屬來相容部分瀏覽。 實現方法: overflow: hidden; text-overflow:ellipsis; white
多行文字溢位顯示省略號(...)的方法
最近做手機端的專案,商品標題格式要求超出兩行的內容以省略號展示,最初的方法是用css進行控制,具體樣式如下: p { text-overflow: -o-ellipsis-lastline; overflow : hidden; text-over
CSS實現單行、多行文字溢位顯示省略號 …
單行文字的溢位顯示省略號overflow: hidden; text-overflow:ellipsis; white-space: nowrap;效果圖:多行文字溢位display: -webkit-box; -webkit-box-orient: vertical; -w
css3實現多行文字溢位顯示省略號...
我們常用的就是實現單行文字溢位顯示省略號,此時需要定寬度,程式碼如下: .box{width:200px; overflow: hidden; text-overflow:ell
CSS實現多行文字溢位顯示省略號
單行文字溢位顯示省略號,可以直接使用 text-overflow:ellipsis; white-space:nowrap; <!DOCTYPE html> <html lang="en"> <head> <meta charse
《CSS實現單行、多行文字溢位顯示省略號》
本文轉載於:猿2048網站➵《CSS實現單行、多行文字溢位顯示省略號》 如果實現單行文字的溢位顯示省略號同學們應該都知道用tex
laravel和css 多行文字溢位顯示加省略號的實現方法
首選前端CSS: <style> .text{ width: 300px; border: 1px solid #000000; display: -webkit-box;
單行、多行文字超出顯示省略號
lock hit 單行 bsp pan over 省略號 span spl 單行 display:inline-block/ block;overflow: hidden; text-overflow:ellipsis; white-space: nowrap;單行、多行文
CSS多行文字並顯示省略號
比如說有一個需求:最多隻能顯示兩行文字,超過一行則換行,超過兩行則顯示省略號 more-wrap($n) display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: $n; overflow: hid
單行文字、多行文字溢位時省略號表示的多種解決方式;調整字元間距;段落首字母大寫縮排效果;
文字溢位省略號表示的實現效果: 1、解決單行文字溢位: 解決方式: 在文字容器樣式中新增 overflow:hidden; text-overflow:ellipsis; white-space: nowrap; 其中overflow:hidden;是在超出元素寬
設定多行文字超出顯示省略號,在手機端超出部分無法隱藏解決方法
方法一: 跨瀏覽器相容的方案 比較靠譜簡單的做法就是設定相對定位的容器高度,用包含省略號(…)的元素模擬實現; p{ position:relative; line-height:1.4
jquery.ellipsis 使用,多行文字末尾顯示省略號
自動計算內容寬度(不是字數)截斷,並加上省略號,內容不受中英文或符號限制。 如果根據字數來計算的話,因為不同字元的寬度並不相同,比如l和W,特別是中英文,最終內容寬度會有很大的差異。 jquery.ellipsis.js 依賴jquery,使用方式 $(dom).ellip
多行文字溢位最後一行顯示省略號
現在的瀏覽器都支援text-overflow:ellipsis屬性,用來實現單行文字的溢位顯示省略號,但是這個屬性並不支援多行文字。那麼有沒有方法在多行文字上實現同樣的效果呢? 1、-webkit-line-clamp Webkit支援一個名為-webkit-line-clamp的