以前使用過這個例子,如今總結說明一下: css
先給貼代碼: html
<p style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! </p>
測試瀏覽器: IE6/7/8/9、opera12.02、firefox15.0.1、chrome21.0.1180.89 m chrome
完整例子:runjs.cn 瀏覽器
如今解釋一下爲何要這樣作: 網絡
一、text-overflow: ellipsis; 佈局
這裏的重點樣式是 text-overflow: ellipsis; 學習
不過話說text-ellipsis是一個特殊的樣式,有關解釋是這樣的:text-overflow屬性僅是註解,當文本溢出時是否顯示省略標記。並不具有其它的樣式屬性定義。要實現溢出時產生省略號的效果還須定義:強制文本在一行內顯示(white-space:nowrap)及溢出內容爲隱藏(overflow:hidden),只有這樣才能實現溢出文本顯示省略號的效果。 測試
簡單理解就是我要把文本限制在一行(white-space: nowrap;),確定這一行是有限制的(width),而且你的溢出的部分要隱藏起來(overflow: hidden;),而後出現省略號( text-overflow: ellipsis)。 spa
我在網上看到有不少人說opera不支持text-overflow,可能由於我用的是最新版本的,已經支持這個屬性了,因此沒辦法測試,不過網上給支持低版本的opera一個辦法,就是-o-text-overflow:ellipsis;至於火狐,也有不少人說不支持,版本問題沒法考證,你們有試過的能夠出來指證一下,這裏有個《在火狐裏 怎樣用CSS限制字數並以點的形式顯示》,能夠參考一下。 firefox
二、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 屬性的值。
大部份內容來自網絡,僅供本身學習理解之用,牛人笑看之。。