截取字符串,多余部分用省略号显示
方法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 + "..."); } }
如果觉得文章对您有帮助,请不吝点个赞,表示一下支持!谢谢!