项目中经常会遇到这种问题:
显示某个标题时候,如果标题长度太长,要么就要换行显示,要么就需要截取字符串,后二者是采用最多的。
在截取字符串的时候,常用的方法是:
1.通过数据库查询控制:
这个有点复制,首先是用SQl的substring(title,start,length)开截取需要的长度,再追加省略号
然而,如果长度小于截取长度呢?是不能追加省略号的,所以SQl只一次拼装成功很复杂,需要判断字符串长度。
2.页面js判断。
展示题名时候,先js判断在截取加省略号。用JS截取拼装字符串非常容易实现。但是,如果传值进入页面,需要先执行JS的截取再显示,无疑是不可取的。
3. 用CSS样式控制。
这个是当前最好用也最实际的方法。
例子:
<style>
.title
{
width:200px;
white-space:nowrap;
word-break:keep-all;
overflow:hidden;
text-overflow:ellipsis;
}
</style>
<span class=title>客户端解决标题显示太长省略多余部分并加省略号的样式</span>
<div class=title>客户端解决标题显示太长省略多余部分并加省略号的样式</div>
控制长度在200px内,超过就截取并追加...