核心提示:HTML超出文本多行截取代码如下: p class=sytm-text-1 p /p/pp class=sytm-text-2 p /p/pCSS:.sytm-text-1 {color: #FFF;...
HTML超出文本多行截取代码如下:
<p class="sytm-text-1"> <p> </p> </p> <p class="sytm-text-2"> <p> </p> </p> CSS: .sytm-text-1 { color: #FFF; background: #000; width: 410px; height: 22px; } .sytm-text-2 { color: #FFF; background: #000; width: 410px; height: 44px; } p { line-height: 22px; } JS(引入jQuery): $("p[class*='sytm-text']").each(function(e){ var pHeight = $(this).height(); var $p = $("p", $(this)).eq(0); while ($p.outerHeight() > pHeight) { $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "...")); }; });
通过上述代码可以发现,实现这个效果的主要原理在于通过子容器(p)与父容器(p)高度的比较根据正则表达式进行字符截取,直到两者相等为止。所以控制截取行数的关键自然在p高度上了。