CSS樣式控制一行文字超出部分顯示省略號 text-overflow:ellipsis

CSS樣式控制一行文字超出部分顯示省略號 主要使用樣式 text-overflow:ellipsis,但只有 text-overflow:ellipsis屬性還不夠,請看下文。

text-overflow是一個比較特殊的屬性,W3C早前的文檔中(目前的文檔中沒有包含text-overflow屬性,FML!)對其的定義是:

 

Name: text-overflow-mode
Value: clip | ellipsis | ellipsis-word

 

clip :  不顯示省略標記(…),而是簡單的裁切
ellipsis :  當對象內文本溢出時顯示省略標記(…),省略標記插入的位置是最後一個字符。
ellipsis-word :  當對象內文本溢出時顯示省略標記(…),省略標記插入的位置是最後一個詞(word)。

至於爲什麼一開始我說text-overflow是一個比較特殊的樣式呢?因爲我們可以用它代替我們通常所用的標題截取函數,而且這樣做對搜索引擎更加友好,如:標題文件有50個漢字,而我們的列表可能只有300px的寬度。如果用標題截取函數,則標題不是完整的,如果我們用CSS樣式text-overflow:ellipsis,輸出的標題是完整的,只是受容器大小的侷限不顯示出來罷了(表現上是超出部分顯示省略標記…)。

text-overflow: ellipsis屬性僅是註解,當文本溢出時是否顯示省略標記。並不具備其它的樣式屬性定義。我們想要實現溢出時產生省略號的效果。還必須定義:強制文本在一行內顯示(white-space:nowrap)及溢出內容爲隱藏(overflow:hidden)。只有這樣才能實現溢出文本顯示省略號的效果。

那麼,如果我們要給p標籤定義text-overflow:ellipsis就可以這麼寫:

 

p {        white-space: nowrap;        width: 100%;                  /* IE6 需要定義寬度 */        overflow: hidden;                       -o-text-overflow: ellipsis;    /* Opera */        text-overflow:    ellipsis;    /* IE, Safari (WebKit) */     }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章