1. 程式人生 > >CSS控制文字只顯示一行,超出部分顯示省略號

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

pac 方式 也有 瀏覽器 註解 參考 布局 多人 ellipsis

<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;至於火狐,也有很多人說不支持,版本問題無法考證,大家有試過的可以出來指證一下,

這裏有個《在火狐裏 怎樣用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控制文字只顯示一行,超出部分顯示省略號