css中的text-overflow屬性和white-space屬性可以使得文本在一行中顯示,并且達到可控制的最大字數。
<code>.single-line { white-space: nowrap; /*強制不換行*/ overflow: hidden; /*超出寬度部分隱藏*/ text-overflow: ellipsis; /*超出寬度部分用省略號代替*/ }</code>
上述代碼中,text-overflow屬性被設置為ellipsis,表示超出寬度部分用省略號代替。通過white-space屬性的nowrap值,強制文本不換行。
如果想要多行文本只顯示指定行數,可以使用text-overflow和webkit-line-clamp屬性來實現。
<code>.multi-line { display: -webkit-box; /* 將元素強制轉換為一個行內的伸縮盒子容器*/ -webkit-box-orient: vertical; /* 行內伸縮盒子容器內元素排成豎列 */ overflow: hidden; /*超出部分隱藏*/ text-overflow: ellipsis; /*超出部分用省略號代替*/ -webkit-line-clamp: 3; /*顯示3行*/ }</code>
上述代碼中,-webkit-box-orient屬性被設置為vertical,表示將行內伸縮盒子容器內元素排成豎列。同時,-webkit-line-clamp屬性被設置為3,代表只顯示3行文本,超出部分用省略號代替。
在這里注意,-webkit-line-clamp屬性只支持webkit內核的瀏覽器,例如Chrome、Safari等。如果想要支持其它瀏覽器內核,可以使用JavaScript來實現。
下一篇css定位元素測試