点评:本文为大家介绍下HTML超出文本多行如何截取其实原理很简单通过子容器(p)与父容器(div)高度的比较根据正则表达式进行字符截取,直到两者相等为止
HTML超出文本多行截取代码如下:
kvjHTML5中文学习网 - HTML5先行者学习网kvjHTML5中文学习网 - HTML5先行者学习网HTML:
kvjHTML5中文学习网 - HTML5先行者学习网 kvjHTML5中文学习网 - HTML5先行者学习网
<div class="sytm-text-1"> kvjHTML5中文学习网 - HTML5先行者学习网
<p> kvjHTML5中文学习网 - HTML5先行者学习网
脚本之家 网址:http://www.jb51.net kvjHTML5中文学习网 - HTML5先行者学习网
</p> kvjHTML5中文学习网 - HTML5先行者学习网
</div> kvjHTML5中文学习网 - HTML5先行者学习网
<div class="sytm-text-2"> kvjHTML5中文学习网 - HTML5先行者学习网
<p> kvjHTML5中文学习网 - HTML5先行者学习网
脚本之家 网址:http://www.jb51.net kvjHTML5中文学习网 - HTML5先行者学习网
</p> kvjHTML5中文学习网 - HTML5先行者学习网
</div> kvjHTML5中文学习网 - HTML5先行者学习网
kvjHTML5中文学习网 - HTML5先行者学习网CSS:
kvjHTML5中文学习网 - HTML5先行者学习网 kvjHTML5中文学习网 - HTML5先行者学习网
.sytm-text-1 { kvjHTML5中文学习网 - HTML5先行者学习网
color: #FFF; kvjHTML5中文学习网 - HTML5先行者学习网
background: #000; kvjHTML5中文学习网 - HTML5先行者学习网
width: 410px; kvjHTML5中文学习网 - HTML5先行者学习网
height: 22px; kvjHTML5中文学习网 - HTML5先行者学习网
} kvjHTML5中文学习网 - HTML5先行者学习网
.sytm-text-2 { kvjHTML5中文学习网 - HTML5先行者学习网
color: #FFF; kvjHTML5中文学习网 - HTML5先行者学习网
background: #000; kvjHTML5中文学习网 - HTML5先行者学习网
width: 410px; kvjHTML5中文学习网 - HTML5先行者学习网
height: 44px; kvjHTML5中文学习网 - HTML5先行者学习网
} kvjHTML5中文学习网 - HTML5先行者学习网
p { kvjHTML5中文学习网 - HTML5先行者学习网
line-height: 22px; kvjHTML5中文学习网 - HTML5先行者学习网
} kvjHTML5中文学习网 - HTML5先行者学习网
kvjHTML5中文学习网 - HTML5先行者学习网JS(引入jQuery):
kvjHTML5中文学习网 - HTML5先行者学习网 kvjHTML5中文学习网 - HTML5先行者学习网
$("div[class*='sytm-text']").each(function(e){ kvjHTML5中文学习网 - HTML5先行者学习网
var divHeight = $(this).height(); kvjHTML5中文学习网 - HTML5先行者学习网
var $p = $("p", $(this)).eq(0); kvjHTML5中文学习网 - HTML5先行者学习网
while ($p.outerHeight() > divHeight) { kvjHTML5中文学习网 - HTML5先行者学习网
$p.text($p.text().replace(/(/s)*([a-zA-Z0-9]+|/W)(/././.)?$/, "...")); kvjHTML5中文学习网 - HTML5先行者学习网
}; kvjHTML5中文学习网 - HTML5先行者学习网
}); kvjHTML5中文学习网 - HTML5先行者学习网
kvjHTML5中文学习网 - HTML5先行者学习网通过上述代码可以发现,实现这个效果的主要原理在于通过子容器(p)与父容器(div)高度的比较根据正则表达式进行字符截取,直到两者相等为止。所以控制截取行数的关键自然在div高度上了。