首先你容納文字的容器要設(shè)置固定的寬高,然后加上以下屬性
創(chuàng)新互聯(lián)公司歡迎聯(lián)系:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10余年,包括軟裝設(shè)計等多個方面擁有多年的網(wǎng)站維護經(jīng)驗,選擇創(chuàng)新互聯(lián)公司,為企業(yè)保駕護航!
white-space:
nowrap;
word-break:
keep-all;
text-overflow:
ellipsis;
第一行的代碼,是不允許文字換行
第二行的代碼,是不允許把單詞拆開
第三行的代碼,就是文本超出容器,以省略號顯示
望采納!
語法:
text-overflow:clip/ellipsis;
默認(rèn)值:clip
適用于:所有元素
clip: 當(dāng)對象內(nèi)文本溢出時不顯示省略標(biāo)記(...),而是將溢出的部分裁切掉。
ellipsis: 當(dāng)對象內(nèi)文本溢出時顯示省略標(biāo)記(...)。
在使用的時候,有時候發(fā)現(xiàn)不會出現(xiàn)省略標(biāo)記效果,經(jīng)過測試發(fā)現(xiàn),使用ellipsis的時候,必須配合overflow:hidden; white-space:nowrap; width:具體值;這三個樣式共同使用才會有效果。
在WebKit瀏覽器或移動端(絕大部分是WebKit內(nèi)核的瀏覽器)的頁面實現(xiàn)比較簡單,可以直接使用WebKit的CSS擴展屬性(WebKit是私有屬性)-webkit-line-clamp ;注意:這是一個 不規(guī)范的屬性(unsupported WebKit property),它沒有出現(xiàn)在 CSS 規(guī)范草案中。
-webkit-line-clamp用來限制在一個塊元素顯示的文本的行數(shù)。 為了實現(xiàn)該效果,它需要組合其他的WebKit屬性。常見結(jié)合屬性:
display: -webkit-box; 必須結(jié)合的屬性 ,將對象作為彈性伸縮盒子模型顯示 。
-webkit-box-orient 必須結(jié)合的屬性 ,設(shè)置或檢索伸縮盒對象的子元素的排列方式 。
text-overflow: ellipsis;,可以用來多行文本的情況下,用省略號“…”隱藏超出范圍的文本。
這個屬性只合適WebKit瀏覽器或移動端(絕大部分是WebKit內(nèi)核的)瀏覽器
效果如圖所示:
從效果上來看,它的優(yōu)點有:
1.響應(yīng)式截斷,根據(jù)不同寬度做出調(diào)整
2.文本超出范圍才顯示省略號,否則不顯示省略號
3.瀏覽器原生實現(xiàn),所以省略號位置顯示剛好
但是缺點也是很直接,因為 -webkit-line-clamp 是一個不規(guī)范的屬性,它沒有出現(xiàn)在 CSS 規(guī)范草案中。也就是說只有 webkit 內(nèi)核的瀏覽器才支持這個屬性,像 Firefox, IE 瀏覽器統(tǒng)統(tǒng)都不支持這個屬性,瀏覽器兼容性不好。
使用場景:多用于移動端頁面,因為移動設(shè)備瀏覽器更多是基于 webkit 內(nèi)核,除了兼容性不好,實現(xiàn)截斷的效果不錯。
效果如圖:
適合場景:文字內(nèi)容較多,確定文字內(nèi)容一定會超過容器的,那么選擇這種方式不錯。但文字未超出行的情況下也會出現(xiàn)省略號,可結(jié)合js優(yōu)化該方法。
注:
css:
js:
網(wǎng)上有很多介紹關(guān)于使用JavaScript實現(xiàn)多行文本溢出省略的辦法,有的使用插件,有的使用自己封裝好的JavaScript文件,但是,我認(rèn)為,還是自己寫的js比較好用。
插件:
是待省略的意思。要省略就要它不換行white-space:nowrap。不換行就會有超出部分顯示,這超出的部分要讓它隱藏overflow:hidden;最后就是它要顯示省略號text-overflow:ellipsis。
縮進文本:把 Web 頁面上的段落的第一行縮進,這是一種最常用的文本格式化效果。
CSS?提供了 text-indent 屬性,該屬性可以方便地實現(xiàn)文本縮進。
通過使用 text-indent 屬性,所有元素的第一行都可以縮進一個給定的長度,甚至該長度可以是負(fù)值。
這個屬性最常見的用途是將段落的首行縮進,下面的規(guī)則會使所有段落的首行縮進 5 em。
擴展資料:
使用負(fù)值:
text-indent 還可以設(shè)置為負(fù)值。利用這種技術(shù),可以實現(xiàn)很多有趣的效果,比如“懸掛縮進”,即第一行懸掛在元素中余下部分的左邊:
p {text-indent: -5em;}
不過在為 text-indent 設(shè)置負(fù)值時要當(dāng)心,如果對一個段落設(shè)置了負(fù)值,那么首行的某些文本可能會超出瀏覽器窗口的左邊界。為了避免出現(xiàn)這種顯示問題,建議針對負(fù)縮進再設(shè)置一個外邊距或一些內(nèi)邊距:p {text-indent: -5em; padding-left: 5em;}。
參考資料來源:百度百科-CSS 文本
一些列表標(biāo)題會要求顯示兩行+……
單行文本溢出顯示省略號(…)
text-overflow:ellipsis-----部分瀏覽器還需要加寬度width屬性
END
多行文本溢出顯示省略號
WebKit瀏覽器或移動端的頁面
在WebKit瀏覽器或移動端(絕大部分是WebKit內(nèi)核的瀏覽器)的頁面實現(xiàn)比較簡單,可以直接使用WebKit的CSS擴展屬性(WebKit是私有屬性)-webkit-line-clamp ;注意:這是一個 不規(guī)范的屬性(unsupported WebKit property),它沒有出現(xiàn)在 CSS 規(guī)范草案中。
-webkit-line-clamp用來限制在一個塊元素顯示的文本的行數(shù)。 為了實現(xiàn)該效果,它需要組合其他的WebKit屬性。常見結(jié)合屬性:
display: -webkit-box; 必須結(jié)合的屬性 ,將對象作為彈性伸縮盒子模型顯示 。
-webkit-box-orient 必須結(jié)合的屬性 ,設(shè)置或檢索伸縮盒對象的子元素的排列方式 。
text-overflow: ellipsis;,可以用來多行文本的情況下,用省略號“…”隱藏超出范圍的文本。
這個屬性比較合適WebKit瀏覽器或移動端(絕大部分是WebKit內(nèi)核的)瀏覽器
跨瀏覽器兼容的方案
比較靠譜簡單的做法就是設(shè)置相對定位的容器高度,用包含省略號(…)的元素模擬實現(xiàn);
這里注意幾點:
height高度真好是line-height的3倍;
結(jié)束的省略好用了半透明的png做了減淡的效果,或者設(shè)置背景顏色;
IE6-7不顯示content內(nèi)容,所以要兼容IE6-7可以是在內(nèi)容中加入一個標(biāo)簽,比如用span class="line-clamp".../span去模擬;
要支持IE8,需要將::after替換成:after;
END
JavaScript 方案
用js也可以根據(jù)上面的思路去模擬,實現(xiàn)也很簡單,推薦幾個做類似工作的成熟小工具
1.Clamp.js
下載及文檔地址:使用也非常簡單:
步驟閱讀
2.jQuery插件-jQuery.dotdotdot
這個使用起來也很方便:
這個事情只用CSS是解決不了的。
1、使用模板函數(shù),比如Smarty就有這樣的函數(shù),可以截取部分內(nèi)容顯示,(但測試似乎對中文效果不好。)
2、使用服務(wù)器端程序,把文件切割后再顯示。
3、使用JS來處理文字內(nèi)容。
說個解決思路,你看看能不能給你一些參考:
單選CSS做文本溢出截取時,使用的就是overflow:hidden,然后再寫一個span.../span加在后面。這樣只是隱藏了溢出的部分。多行的時候,是否能用絕對定位和層的概念實現(xiàn)這個。寫一個內(nèi)容只有span.../span的層,絕對定位到父Box的右下角,問題是如果沒溢出的話,就多了這個顯示了。
名稱欄目:css文本樣式文本溢出,css單行文本溢出
文章URL:http://m.rwnh.cn/article20/phpeco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站設(shè)計、虛擬主機、、App開發(fā)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)