首頁技術(shù)文章正文

Web前端培訓(xùn):CSS如何實(shí)現(xiàn)文本超出部分顯示省略號

更新時間:2019-01-22 來源:黑馬程序員 瀏覽量:

當(dāng)文本的內(nèi)容超出容器的寬度的時候,我們希望在其默認(rèn)添加省略號以達(dá)到提示用戶內(nèi)容省略顯示的效果。

我們觀察如下效果,當(dāng)文本超出一定寬度的以后,就顯示省略號代替。

1548147094225_1.jpg      

實(shí)現(xiàn)文本超出部分顯示省略號,我們可以分3步:

1. 書寫HTML結(jié)構(gòu)

2. CSS實(shí)現(xiàn)單行文字顯示省略號

3. CSS實(shí)現(xiàn)多行文字顯示省略號

一. 第一步 —— 書寫HTML結(jié)構(gòu)

目標(biāo) : 書寫HTML結(jié)構(gòu),我用p標(biāo)簽包裹一定長度的文本內(nèi)容

1548147099376_2.jpg      

小結(jié) : 在body標(biāo)簽里寫一個p標(biāo)簽放文本內(nèi)容,但是其他標(biāo)簽也是可以的,建議使用塊標(biāo)簽,比如div

二. 第二步 —— 單行文字顯示省略號

目標(biāo) : 使用css屬性width,white-space,overflow,text-overflow實(shí)現(xiàn)單行文字顯示省略號

1. 給p標(biāo)簽設(shè)定一個固定寬度

1548147104098_3.jpg      

2. 讓內(nèi)容溢出不換行

/*讓內(nèi)容溢出不換行*/

white-space:nowrap;

1548147109279_4.jpg      

3. 讓超出的內(nèi)容隱藏

/*讓超出的內(nèi)容隱藏*/

overflow:hidden;

1548147114700_5.jpg      

4. 讓超出的內(nèi)容用省略號顯示

/*讓超出的內(nèi)容用省略號顯示*/

text-overflow:ellipsis;

1548147120555_6.jpg     

小結(jié) : 使用white-space,overflow,text-overflow需要同時設(shè)置,缺一不可,并且需要給元素設(shè)置寬度

三. 第三步 —— 多行文字顯示省略號

目標(biāo) : 使用css屬性width,overflow,text-overflow,display,box-orient,line-clamp實(shí)現(xiàn)多行文字顯示省略號

1. 讓超出內(nèi)容隱藏,超出內(nèi)容用省略顯示,不需要讓內(nèi)容溢出不換行

/*讓超出的內(nèi)容隱藏*/

overflow:hidden;

/*讓超出的內(nèi)容用省略號顯示*/

text-overflow:ellipsis;

1548147125269_7.jpg      

2. 指定為彈性伸縮盒子,子元素垂直排列顯示,顯示多少行內(nèi)容

/*作為彈性伸縮盒子模型顯示*/

display:-webkit-box;

/*設(shè)置伸縮盒子的子元素排列方式--從上到下垂直排列*/

-webkit-box-orient:vertical;

/*指定顯示的多少行*/

-webkit-line-clamp:3;

1548147129945_8.jpg      

小結(jié) :

1. 讓超出的內(nèi)容隱藏overflow:hidden;

2. 讓超出的內(nèi)容用省略號顯示text-overflow:ellipsis;

3. 作為彈性伸縮盒子模型顯示display:-webkit-box;

4. 設(shè)置伸縮盒子的子元素排列方式--從上到下垂直排列-webkit-box-orient:vertical;

5. 指定顯示的多少行-webkit-line-clamp:3;

總結(jié)

CSS實(shí)現(xiàn)文本超出部分顯示省略號的主要步驟:

1. 書寫HTML結(jié)構(gòu),用一個標(biāo)簽包裹內(nèi)容,也可以指定這個標(biāo)簽的寬度,如果不指定就會根據(jù)瀏覽器的寬度變化而變化

2. 單行文字顯示省略號

/*讓內(nèi)容溢出不換行*/

white-space:nowrap;

/*讓超出的內(nèi)容隱藏*/

overflow:hidden;

/*讓超出的內(nèi)容用省略號顯示*/

text-overflow:ellipsis;

3. 多行文字顯示省略號

/*讓超出的內(nèi)容隱藏*/

overflow:hidden;

/*讓超出的內(nèi)容用省略號顯示*/

text-overflow:ellipsis;

/*作為彈性伸縮盒子模型顯示*/

display:-webkit-box;

/*設(shè)置伸縮盒子的子元素排列方式--從上到下垂直排列*/

-webkit-box-orient:vertical;

/*指定顯示的多少行*/

-webkit-line-clamp:3;

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!