Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 格式化后将文本截断为指定行数_Javascript_Css - Fatal编程技术网

Javascript 格式化后将文本截断为指定行数

Javascript 格式化后将文本截断为指定行数,javascript,css,Javascript,Css,我正在制作一个网站,它将显示来自YouTube API的一些视频,并将服务器端的视频描述缩短为170个字符。它们必须放在一个狭窄的盒子里,这样每当它包含URL或长单词时,它们就会大量包装,有时会溢出容器。是否有客户端方法来截断字符串并在末尾添加省略号(我可以使用overflow:hidden,但不能使用省略号,这是我最后的选择) 下面是我正在尝试做的一个图像: 您可以使用,但不幸的是,这只适用于空白:nowrap,我认为您不需要它 您可以做的是像您预期的那样执行overflow:hidden,并

我正在制作一个网站,它将显示来自YouTube API的一些视频,并将服务器端的视频描述缩短为170个字符。它们必须放在一个狭窄的盒子里,这样每当它包含URL或长单词时,它们就会大量包装,有时会溢出容器。是否有客户端方法来截断字符串并在末尾添加省略号(我可以使用overflow:hidden,但不能使用省略号,这是我最后的选择)

下面是我正在尝试做的一个图像:

您可以使用,但不幸的是,这只适用于
空白:nowrap
,我认为您不需要它

您可以做的是像您预期的那样执行
overflow:hidden
,并使用伪元素
:after
伪省略号

想象一下,你有你的DIV和文本:

<div id="text">
    (really long text here)
</div>
再加上

#text:after {
    content:'...';
    position:absolute;
    bottom:0;
    right:0;
    background:inherit
}

答对了:

以省略号结尾的多行文本的唯一原生方式是 -webkit盒和webkit线夹的支撑力非常低

div{
 width:150px;
 overflow: hidden;
 text-overflow: ellipsis;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* number of lines to show */
 -webkit-box-orient: vertical;
}
范例


否则,您需要找到一些css黑客或js脚本。

您现在所做的代码是什么样子的?你能提供一个JSFIDLE让我们看看你已经在做什么吗?请看:和@teabos谢谢!您与jquery插件链接的stackoverflow正是我所寻找的。我同意Yuriy关于jquery插件的建议。@StormDrive我同意APAD1,如果您可以使用css解决方案来解决jquery问题,但是即使字符串被截断,它仍然会添加css,但使用少量javascript我可以解决这个问题。谢谢你的帮助!
div{
 width:150px;
 overflow: hidden;
 text-overflow: ellipsis;
 display: -webkit-box;
 -webkit-line-clamp: 2; /* number of lines to show */
 -webkit-box-orient: vertical;
}