今天,我爱模板网在这里分享下自己的方法,多行文字溢出也可以实现显示“...”,而且完美兼容IE6+,效果图如下:

方法是:
1、文字套两个容器,假设html代码如下:
<div class="box">
<p>我爱模板网精选各种网页模板,css模板,网页特效,广告代码,开源网站源码,建站素材,精美网站欣赏,全部免费下载。并提供各种建站教程,力图帮助新手解决建站困难。找模板,找素材,找教程,就来我爱模板网。</p>
</div>
2、css代码如下:
.box{
height:50px;
width:100px;
border:1px solid red;
}
p{line-height:25px; padding:0; margin:0;}
3、jQuery代码如下(注意要引入jQuery):
$(".box").each(function(i){
var divH = $(this).height();
var $p = $("p", $(this)).eq(0);
while ($p.outerHeight() > divH) {
$p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
};
});
用js判断里层容器和外层容器的高度,用正则表达式,将多于的文字,替换成“...”。还有一种纯css的方法,由于使用到了css3效果,兼容性非常不好,仅供参考:
.box{
text-align: center;
color:#C8CFD6;
height:34px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
