个人觉得,有一下几种方法: 1.js中控制输出字数,多余用省略号代替 2.单行超出省略:.text1 { width:200px;
overflow:hidden;/*不显示超出内容*/
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
-webkit-text-overflow:ellipsis;
-moz-text-overflow:ellipsis;/*针对不同浏览器超出显示...*/
white-space:nowrap;/*不换行*/
} 3.多行超出省略: width:200px;
word-break:break-all;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden; 4.还有插件的方式,没有去用过 前一段时间,遇到一个蛋疼的要求,最后一行只显示少部分文字便要省略号,抓破脑袋只能想到jquery的方式,不过效率比较低,真的很慢 <div class="explain_FrameMiddile"> <p><{$val.des[0]}></p></div> var des = jQuery(".explain_FrameMiddile");
for (var i =0;i< des.length; i++) {
jQuery(des[i]).each(function(){
var divH = jQuery(this).height();
var p = jQuery("p", jQuery(this)).eq(0);
var lengthT=0;
while (jQuery(p).outerHeight()> divH) {
var LsStr =jQuery(p).text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "...");
jQuery(p).text(LsStr);
lengthT = jQuery(p).text().length-32;
};
if(lengthT!=0)
{
var strNew = jQuery(p).text().toString();
strNew = strNew.substr(0,lengthT)+"...";
jQuery(this).html(strNew);
}
});
} 至于其他方式,不去总结了,也忘记了
|
|