標籤:有關 控制 str text htm ellipsis 限制 over 空格
<p style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧! 省略我吧!</p>
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;至於Firefox,也有很多人說不支援,版本問題無法考證,大家有試過的可以出來指證一下,
這裡有個《在Firefox裡 怎樣用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 屬性的值
CSS控制文字只顯示一行,超出部分顯示省略符號