天天看點

CSS控制文字隻顯示一行,超出部分顯示省略号

1、text-overflow: ellipsis; 

這裡的重點樣式是  text-overflow: ellipsis; 

不過話說text-ellipsis是一個特殊的樣式,有關解釋是這樣的:text-overflow屬性僅是注解,當文本溢出時是否顯示省略标記。并不具備其它的樣式屬性定義。

要實作溢出時産生省略号的效果還須定義:強制文本在一行内顯示(white-space:nowrap)及溢出内容為隐藏(overflow:hidden),隻有這樣才能實作溢出

文本顯示省略号的效果。

簡單了解就是我要把文本限制在一行(white-space: nowrap;),肯定這一行是有限制的(width),并且你的溢出的部分要隐藏起來(overflow: hidden;),

然後出現省略号( text-overflow: ellipsis)。

我在網上看到有很多人說opera不支援text-overflow,可能因為我用的是最新版本的,已經支援這個屬性了,是以沒辦法測試,不過網上給支援低版本的opera

一個辦法,就是-o-text-overflow:ellipsis;至于火狐,也有很多人說不支援,版本問題無法考證,大家有試過的可以出來指證一下,

這裡有個《在火狐裡 怎樣用CSS限制字數并以點的形式顯示》,可以參考一下

2、white-space

順便解釋一下white-space的用法

white-space屬性聲明建立布局過程中如何處理元素中空白符。(廢話一句,這裡的空白符應該指我們用鍵盤敲入的空格或回車,因為用 或<br>無論white-space

設定什麼都會有空格或回車。)

下面是wschool上white-space可能的值:

normal 預設。空白會被浏覽器忽略。

pre 空白會被浏覽器保留。其行為方式類似 HTML 中的 <pre> 标簽。

nowrap 文本不會換行,文本會在在同一行上繼續,直到遇到 <br> 标簽為止。

pre-wrap 保留白白符序列,但是正常地進行換行。

pre-line 合并空白符序列,但是保留換行符。

inherit 規定應該從父元素繼承 white-space 屬性的值