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