目錄
1、text-overflow: ellipsis;2.white-space屬性3.word-wrap通過使用text-overflow和white-space屬性來使文本在一行內(nèi)顯示,超出則加省略號,添加如下
HTML代碼:
<p>前端開發(fā)博客專注前端開發(fā)和技術(shù)分享,如果描述超過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是一個特殊的樣式,有關(guān)解釋是這樣的:text-overflow屬性僅是注解,當文本溢出時是否顯示省略標記。并不具備其它的樣式屬性定義。要實現(xiàn)溢出時產(chǎn)生省略號的效果還須定義:強制文本在一行內(nèi)顯示(white-space:nowrap)及溢出內(nèi)容為隱藏(overflow:hidden),只有這樣才能實現(xiàn)溢出文本顯示省略號的效果。
這里面需要限定寬度、文字顯示在一行中(white-space:nowrap;)和使用隱藏屬性overflow。
網(wǎng)上給支持低版本的opera一個辦法,就是-o-text-overflow:ellipsis;
2.white-space屬性
定義:white-space 屬性設(shè)置如何處理元素內(nèi)的空白。
實例:規(guī)定段落中的文本不進行換行:
p{ white-space: nowrap;}可能的值
值描述
normal默認??瞻讜粸g覽器忽略。
pre空白會被瀏覽器保留。其行為方式類似 HTML 中的 <pre> 標簽。
nowrap文本不會換行,文本會在在同一行上繼續(xù),直到遇到 <br> 標簽為止。
pre-wrap保留空白符序列,但是正常地進行換行。
pre-line合并空白符序列,但是保留換行符。
inherit規(guī)定應(yīng)該從父元素繼承 white-space 屬性的值。
Object.style.whiteSpace=normal|nowrap|pre
3.word-wrap
定義:word-wrap 屬性允許長單詞或 URL 地址換行到下一行。
實例:允許長單詞換行到下一行:
p.test {word-wrap:break-word;}可能的值:
值描述
normal只在允許的斷字點換行(瀏覽器保持默認處理)。
break-word在長單詞或 URL 地址內(nèi)部進行換行。
1.(IE瀏覽器)連續(xù)的英文字符和阿拉伯數(shù)字,使用word-wrap : break-word ;或者word-break:break-all;實現(xiàn)強制斷行
2.(Firefox瀏覽器)連續(xù)的英文字符和阿拉伯數(shù)字的斷行,Firefox的所有版本的沒有解決這個問題,我們只有讓超出邊界的字符隱藏或者,給容器添加滾動條
.a{word-break:break-all; width:200px; overflow:auto;}
.(Firefox瀏覽器)使用 ;強制table的寬度,內(nèi)層td,th采用word- break : break-all;或者word-wrap : break-word ;換行,使用overflow:hidden;隱藏超出內(nèi)容,這里overflow:auto;無法起作用