摘要:大家應(yīng)該都知道用屬性來(lái)實(shí)現(xiàn)單行文本的溢出顯示省略號(hào)。但是這個(gè)屬性并不支持多行文本溢出顯示省略號(hào),這里根據(jù)應(yīng)用場(chǎng)景介紹幾個(gè)方法來(lái)實(shí)現(xiàn)這樣的效果。,可以用來(lái)多行文本的情況下,用省略號(hào)隱藏超出范圍的文本。
大家應(yīng)該都知道用text-overflow:ellipsis屬性來(lái)實(shí)現(xiàn)單行文本的溢出顯示省略號(hào)(…)。當(dāng)然部分瀏覽器還需要加寬度width屬性。
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
但是這個(gè)屬性并不支持多行文本溢出顯示省略號(hào),這里根據(jù)應(yīng)用場(chǎng)景介紹幾個(gè)方法來(lái)實(shí)現(xiàn)這樣的效果。
WebKit瀏覽器或移動(dòng)端的頁(yè)面在WebKit瀏覽器或移動(dòng)端(絕大部分是WebKit內(nèi)核的瀏覽器)的頁(yè)面實(shí)現(xiàn)比較簡(jiǎn)單,可以直接使用WebKit的CSS擴(kuò)展屬性(WebKit是私有屬性)-webkit-line-clamp ;注意:這是一個(gè) 不規(guī)范的屬性(unsupported WebKit property),它沒(méi)有出現(xiàn)在 CSS 規(guī)范草案中。
-webkit-line-clamp用來(lái)限制在一個(gè)塊元素顯示的文本的行數(shù)。 為了實(shí)現(xiàn)該效果,它需要組合其他的WebKit屬性。
常見(jiàn)結(jié)合屬性:
display: -webkit-box; 必須結(jié)合的屬性 ,將對(duì)象作為彈性伸縮盒子模型顯示 。
-webkit-box-orient 必須結(jié)合的屬性 ,設(shè)置或檢索伸縮盒對(duì)象的子元素的排列方式 。
text-overflow: ellipsis;,可以用來(lái)多行文本的情況下,用省略號(hào)“…”隱藏超出范圍的文本 。
overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
這個(gè)屬性比較合適WebKit瀏覽器或移動(dòng)端(絕大部分是WebKit內(nèi)核的)瀏覽器。
具體例子可以查看http://www.css88.com/webkit/-webkit-line-clamp/
比較靠譜簡(jiǎn)單的做法就是設(shè)置相對(duì)定位的容器高度,用包含省略號(hào)(…)的元素模擬實(shí)現(xiàn);
例如:
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:0 20px 1px 45px; background:url(http://www.css88.com/wp-content/uploads/2014/09/ellipsis_bg.png) repeat-y; }
這里注意幾點(diǎn):
height高度真好是line-height的3倍;
結(jié)束的省略好用了半透明的png做了減淡的效果,或者設(shè)置背景顏色;
IE6-7不顯示content內(nèi)容,所以要兼容IE6-7可以是在內(nèi)容中加入一個(gè)標(biāo)簽,比如用...去模擬;
要支持IE8,需要將::after替換成:after;
JavaScript 方案用js也可以根據(jù)上面的思路去模擬,實(shí)現(xiàn)也很簡(jiǎn)單,推薦幾個(gè)做類(lèi)似工作的成熟小工具:
1.Clamp.js下載及文檔地址:https://github.com/josephschmitt/Clamp.js
使用也非常簡(jiǎn)單:
var module = document.getElementById("clamp-this-module"); $clamp(module, {clamp: 3});2.jQuery插件-jQuery.dotdotdot
這個(gè)使用起來(lái)也很方便:
$(document).ready(function() { $("#wrapper").dotdotdot({ // configuration goes here }); });
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110217.html
摘要:大家應(yīng)該都知道用屬性來(lái)實(shí)現(xiàn)單行文本的溢出顯示省略號(hào)。但是這個(gè)屬性并不支持多行文本溢出顯示省略號(hào),這里根據(jù)應(yīng)用場(chǎng)景介紹幾個(gè)方法來(lái)實(shí)現(xiàn)這樣的效果。,可以用來(lái)多行文本的情況下,用省略號(hào)隱藏超出范圍的文本。 大家應(yīng)該都知道用text-overflow:ellipsis屬性來(lái)實(shí)現(xiàn)單行文本的溢出顯示省略號(hào)(…)。當(dāng)然部分瀏覽器還需要加寬度width屬性。 overflow: hidden; te...
摘要:?jiǎn)涡形谋疽绯鲲@示省略號(hào)需要對(duì)容器設(shè)置單行高度多行文本溢出顯示省略號(hào)瀏覽器或移動(dòng)端的頁(yè)面在瀏覽器或移動(dòng)端絕大部分是內(nèi)核的瀏覽器可以直接使用的擴(kuò)展屬性是私有屬性注意這是一個(gè)不規(guī)范的屬性,它沒(méi)有在的規(guī)范草案中用來(lái)限制在一個(gè)塊元素顯 單行文本溢出顯示省略號(hào) overflow:hidden; text-overflow:ellipsis; white-space:nowrap; (需要對(duì)容器設(shè)置...
摘要:基本語(yǔ)法默認(rèn)值,將溢出的文本裁減掉將溢出的文本用省略號(hào)來(lái)表示設(shè)置一個(gè)字符串用來(lái)表示溢出的文本兼容性上,除了外,其余兩個(gè)屬性兼容到了,所以大可放心使用。 原文地址:https://www.xksblog.top/the-p... text-overflow是CSS3中的屬性,它規(guī)定了當(dāng)文本溢出其包含元素時(shí)以何種方式顯示。但在使用的時(shí)候,有時(shí)會(huì)發(fā)現(xiàn)這個(gè)text-overflow設(shè)置了屬性...
摘要:前言項(xiàng)目中我們經(jīng)常遇到這種需求,需要對(duì)單行多行文本超出顯示為省略號(hào)。單行文本省略文本溢出顯示省略號(hào)文本不會(huì)換行語(yǔ)法默認(rèn)值適用于所有元素當(dāng)對(duì)象內(nèi)文本溢出時(shí)不顯示省略標(biāo)記,而是將溢出的部分裁切掉。 前言:項(xiàng)目中我們經(jīng)常遇到這種需求,需要對(duì)單行、多行文本超出顯示為省略號(hào)。這篇文章主要總結(jié)了小編解決此問(wèn)題的方法,有不足之處歡迎大家指正。 單行文本省略 showImg(https://segme...
閱讀 3699·2021-08-10 09:42
閱讀 592·2019-08-30 15:55
閱讀 893·2019-08-30 15:54
閱讀 3116·2019-08-30 13:45
閱讀 557·2019-08-29 16:23
閱讀 1995·2019-08-29 16:23
閱讀 987·2019-08-29 15:18
閱讀 2266·2019-08-29 12:57