gpt4 book ai didi

javascript - 在固定宽度和高度内附加省略号的跨浏览器多行文本溢出

转载 作者:IT老高 更新时间:2023-10-28 11:08:20 26 4
gpt4 key购买 nike

我为这个问题制作了一张图片以便于理解。

是否可以在 <div> 上创建省略号?具有固定宽度和多行?

text-overflow

我到处尝试了一些 jQuery 插件,但找不到我要找的那个。有什么推荐吗?想法?

最佳答案

只是一个快速的基本想法。

我正在使用以下标记进行测试:

<div id="fos">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nisi ligula, dapibus a volutpat sit amet, mattis et dui. Nunc porttitor accumsan orci id luctus. Phasellus ipsum metus, tincidunt non rhoncus id, dictum a lectus. Nam sed ipsum a lacus sodales eleifend. Vestibulum lorem felis, rhoncus elementum vestibulum eget, dictum ut velit. Nullam venenatis, elit in suscipit imperdiet, orci purus posuere mauris, quis adipiscing ipsum urna ac quam.</p>
</div>

还有 CSS:

#fos { width: 300px; height: 190px; overflow: hidden; }
#fos p { padding: 10px; margin: 0; }

应用这个 jQuery 会达到预期的效果:

var $p = $('#fos p');
var divh = $('#fos').height();
while ($p.outerHeight() > divh) {
$p.text(function (index, text) {
return text.replace(/\W*\s(\S)*$/, '...');
});
}

它反复尝试删除文本的最后一个单词,直到达到所需的大小。因为溢出:隐藏;该过程仍然不可见,即使关闭 JS,结果仍然“视觉上正确”(当然没有“...”)。

如果你将它与服务器端的合理 chop 结合起来(只留下很小的开销),那么它会运行得更快:)。

同样,这不是一个完整的解决方案,只是一个想法。

更新: 添加了 jsFiddle Demo .

关于javascript - 在固定宽度和高度内附加省略号的跨浏览器多行文本溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com