方法1:CSS實現。
實例如下:
.title { width:200px; white-space:nowrap; word-break:keep-all; overflow:hidden; text-overflow:ellipsis; }
可用span或div引用,例如:
<span class="title">客戶端解決標題顯示太長省略多余部分並加省略號的樣式</span> <div class="title">客戶端解決標題顯示太長省略多余部分並加省略號的樣式</div>
以上2例顯示在超過樣式定義的200px寬度后,后面的字符將被...替換.
方法2:jQuery實現。
實例如下:
//超出的文字自動+省略號 jQuery.fn.limit=function(){ var self = $("*[limit]"); self.each( function(){ var objString = $.trim($(this).text()); var objLength = $.trim($(this).text()).length; var num = $(this).attr("limit"); if(objLength > num){ $(this).attr("title",objString); objString = $(this).text(objString.substring(0,num) + ".."); } } ) }
方法3:.NET后台實現。
實例如下:
public static string stringformat(string str, int n) { /// ///格式化字符串長度,超出部分顯示省略號,區分漢字跟字母。漢字2個字節,字母數字一個字節 /// string temp = string.Empty; if (System.Text.Encoding.Default.GetByteCount(str) <= n)//如果長度比需要的長度n小,返回原字符串 { return str; } else { int t = 0; char[] q = str.ToCharArray(); for (int i = 0; i < q.Length && t < n; i++) { if ((int)q[i] >= 0x4E00 && (int)q[i] <= 0x9FA5)//是否漢字 { temp += q[i]; t += 2; } else { temp += q[i]; t++; } } return (temp + "..."); } }