限制文本行数

Posted ghfjj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限制文本行数相关的知识,希望对你有一定的参考价值。

1行:

white-space:nowrap;overflow:hidden;text-overflow:ellipsis;

  

ps*:一定要指定容器的宽度,不然的话是没有用的。

 

多行:

方法一:只支持-webkit内核

<p style="
overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
">

 

方法二:

p {
    position:relative;
    line-height:1.4em;
    /* 3 times the line-height to show 3 lines */
    height:4.2em;
    overflow:hidden;
}
p::after {
    content:"...";
    font-weight:bold;
    position:absolute;
    bottom:0;
    right:0;
    padding:0 20px 1px 45px;
    background:url(http://css88.b0.upaiyun.com/css88/2014/09/ellipsis_bg.png) repeat-y;
}

  

这里注意几点:

  1. height高度真好是line-height的3倍;
  2. 结束的省略好用了半透明的png做了减淡的效果,或者设置背景颜色;
  3. IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用<span class="line-clamp">...</span>去模拟;
  4. 要支持IE8,需要将::after替换成:after

 

js方案:

1.Clamp.js

下载及文档地址:https://github.com/josephschmitt/Clamp.js
使用也非常简单:

var module = document.getElementById("clamp-this-module");
$clamp(module, {clamp: 3});

  

2.jQuery插件-jQuery.dotdotdot

$(document).ready(function() {
	$("#wrapper").dotdotdot({
		//	configuration goes here
	});
});

下载及详细文档地址:https://github.com/BeSite/jQuery.dotdotdothttp://dotdotdot.frebsite.nl/

 

以上是关于限制文本行数的主要内容,如果未能解决你的问题,请参考以下文章

限制文本区域中的行数

根据javascript中的文本行数更改textarea的高度[重复]

compose 监听文本行数 监听行数变化

如何计算 DOM 元素内的文本行数?我可以吗?

Linux命令:WC

在 SVG 中将文本行对齐到中心