方法一:
複製代碼 代碼如下:
<div style="width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;"> 任意長度的字串 </div>
說明:優點是內容可以為任何HTML元素,包括超連結和圖片等,在IE6中還會在結尾自動顯示省略符號。缺點是必須指定寬度數值,並且寬度不能是百分數,否則在IE中會被認為是字元總長的百分比。
方法二:
複製代碼 代碼如下:
<input type=”text” style=”width:100%; cursor:default; border-width:0; border-style:none; background-color:transparent;” value=”任意長度的字串” readonly/>
說明:優點是寬度可以設為百分數。但缺點是內容只能為純文字,不能有超連結等內容。
CSS 截斷字串 CSS是實現文字自動截斷,代碼如下:
複製代碼 代碼如下:
div.test{
width:200px;
height:14px;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
text-overflow: ellipsis;/* IE/Safari */
-ms-text-overflow: ellipsis;
-o-text-overflow: ellipsis;/* Opera */
-moz-binding: url("ellipsis.xml#ellipsis");/*FireFox*/
}
關鍵是text-overflow,其文法如下:
複製代碼 代碼如下:
text-overflow:clip | ellipsis
clip:不顯示省略標記(...),而是簡單的裁切
ellipsis:當對象向內文本溢出時顯示省略標記(...)
要注意的是:這個屬性是IE專用的!不過,卻非只有IE可用。該標籤雖然沒有被乖哦公開支援採納,但卻被很多瀏覽器的私人屬性所包含。text-overflow單獨使用是不起作用的,必須有white-space:nowrap;overflow:hidden;這兩句的配合方可。前一句的作用是強制在同一行內顯示所有文本,直到文本結束或者遭遇br對象。
不難看出,用text-overflow的最佳場所不是文章的行文,而是用以單行顯示的標題或摘要的列表。
文法:
複製代碼 代碼如下:
white-space : normal | pre | nowrap
取值:
複製代碼 代碼如下:
normal : 預設值。預設處理方式。文本自動處理換行。假如抵達容器邊界內容會轉到下一行
pre : 換行和其他空白字元都將受到保護。這個值需要IE6+或者 !DOCTYPE 聲明為 standards-compliant mode 支援。如果 !DOCTYPE 聲明沒有指定為 standards-compliant mode ,此屬性可以使用,但是不會發生作用。結果等同於 normal 。參閱 pre 對象
nowrap : 強制在同一行內顯示所有文本,直到文本結束或者遭遇 br 對象。參閱 noWrap屬性
說明:
設定或檢索對象內空白字元的處理方式。
空白字元,像換行,空格,TAB,在HTML文檔中預設的是被忽略的。當此屬性設定為 normal 或者 nowrap 時,你可以使用不換行空格的具名實體 來添加空格,用 br 元素來添加換行。此屬性對你使用文件物件模型(DOM)操作的內容的影響與其對IE顯示內容的影響一樣。
此屬性作用於塊對象。
此屬性對於 currentStyle 對象而言是唯讀。對於其他對象而言是可讀寫的。
對應的指令碼特性為 whiteSpace 。