css超出一行省略号:text-overflow和white-space超出隐藏显示省略号
通過使用text-overflow和white-space屬性來使文本在一行內顯示,超出則加省略號,添加如下HTML代碼:
<p>前端開發博客專注前端開發和技術分享,如果描述超過100像素,則會隱藏,添加省略號</p>
CSS:需要加上寬度(width:100px)、超出隱藏(overflow:hidden;)、強制在同一行顯示(white-space: nowrap;)、省略號(text-overflow:ellipsis;)
p{width: 100px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
測試瀏覽器:?IE6/7/8/9、opera12.02、firefox15.0.1、chrome21.0.1180.89?m
1、text-overflow:?ellipsis;
這里的重點樣式是??text-overflow:?ellipsis;
不過話說text-ellipsis是一個特殊的樣式,有關解釋是這樣的:text-overflow屬性僅是注解,當文本溢出時是否顯示省略標記。并不具備其它的樣式屬性定義。要實現溢出時產生省略號的效果還須定義:強制文本在一行內顯示(white-space:nowrap)及溢出內容為隱藏(overflow:hidden),只有這樣才能實現溢出文本顯示省略號的效果。
這里面需要限定寬度、文字顯示在一行中(white-space:nowrap;)和使用隱藏屬性overflow。
網上給支持低版本的opera一個辦法,就是-o-text-overflow:ellipsis;
2.white-space屬性
定義:white-space 屬性設置如何處理元素內的空白。
實例:規定段落中的文本不進行換行:
p{ white-space: nowrap;}
可能的值
| 值 | 描述 |
|---|---|
| normal | 默認。空白會被瀏覽器忽略。 |
| pre | 空白會被瀏覽器保留。其行為方式類似 HTML 中的 <pre> 標簽。 |
| nowrap | 文本不會換行,文本會在在同一行上繼續,直到遇到 <br> 標簽為止。 |
| pre-wrap | 保留空白符序列,但是正常地進行換行。 |
| pre-line | 合并空白符序列,但是保留換行符。 |
| inherit | 規定應該從父元素繼承 white-space 屬性的值。 |
Object.style.whiteSpace=normal|nowrap|pre
3.word-wrap
定義:word-wrap 屬性允許長單詞或 URL 地址換行到下一行。
實例:允許長單詞換行到下一行:
p.test {word-wrap:break-word;}
可能的值:
| 值 | 描述 |
|---|---|
| normal | 只在允許的斷字點換行(瀏覽器保持默認處理)。 |
| break-word | 在長單詞或 URL 地址內部進行換行。 |
1.(IE瀏覽器)連續的英文字符和阿拉伯數字,使用word-wrap : break-word ;或者word-break:break-all;實現強制斷行
2.(Firefox瀏覽器)連續的英文字符和阿拉伯數字的斷行,Firefox的所有版本的沒有解決這個問題,我們只有讓超出邊界的字符隱藏或者,給容器添加滾動條
.a{word-break:break-all; width:200px; overflow:auto;}
.(Firefox瀏覽器)使用 table-layout:fixed;強制table的寬度,內層td,th采用word- break : break-all;或者word-wrap : break-word ;換行,使用overflow:hidden;隱藏超出內容,這里overflow:auto;無法起作用
總結
以上是生活随笔為你收集整理的css超出一行省略号:text-overflow和white-space超出隐藏显示省略号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果像素多少(苹果手机为什么坚持1200
- 下一篇: 腰围68算粗吗