2
A
回答
0
这是用于网络的吗?如果是这样,为什么不使用像css一样简单的方法来隐藏溢出?
2
将文本包裹在DIV的单元格中。这会告诉你的DIV中的文本是否比小区更大:
<div id='test' style='width:200px;height:100px;overflow:hidden'>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse at felis. Etiam ullamcorper. Aenean fringilla, eros eu dapibus tristique, erat lacus vestibulum metus, nec pharetra leo ante et quam. Nunc ac mi molestie justo placerat laoreet. Morbi eget dolor. Curabitur pretium, mi quis iaculis molestie, dolor ligula sagittis orci, at sodales quam dolor quis sem. Suspendisse vitae risus. Maecenas vestibulum dolor vel augue. Sed purus. Ut nisi massa, vestibulum id, lobortis eget, aliquet eu, enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.</p>
</div>
<script type="text/javascript">
alert($('test').scrollHeight)
</script>
如果你想在一个单词的末尾截断,并添加一个省略号(...)你可以在脚本中,开始删除单词,直到高度等于或小于容器。 (我使用Protoype为$快捷方式)
这里是一个工作示例:
<div id='test' style='width:300px;height:100px;overflow:hidden'>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse at felis. Etiam ullamcorper. Aenean fringilla, eros eu dapibus tristique, erat lacus vestibulum metus, nec pharetra leo ante et quam. Nunc ac mi molestie justo placerat laoreet. Morbi eget dolor. Curabitur pretium, mi quis iaculis molestie, dolor ligula sagittis orci, at sodales quam dolor quis sem. Suspendisse vitae risus. Maecenas vestibulum dolor vel augue. Sed purus. Ut nisi massa, vestibulum id, lobortis eget, aliquet eu, enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.
</div>
<script type="text/javascript">
function shorten(element) {
if($(element).scrollHeight>$(element).getHeight()) {
var myText = $(element).innerHTML.split(" ")
myText.length=myText.length-2
$(element).update(myText.join(" ")+" ...")
window.setTimeout('shorten("'+element+'")',1)
}
}
shorten('test')
</script>
你可以用句由分裂的一个时期做的,而不是一个空间,但你需要一个如果没有发现任何时期,或者如果在截短之后剩下的东西太短,则回落。
+0
我非常喜欢这个答案。 (缺少代码示例中的关闭脚本标记。) – Benry 2008-12-05 22:05:58
1
我正在使用jquery 1.4.2和较早的答案没有解决问题,但帮助.. 这里是一些小调整的代码。 请记住,容器需要固定的高度和溢出隐藏。
p#descr1 { height:46px; overflow:hidden; }
<script type="text/javascript">
function shorten(element) {
if ($(element).attr('scrollHeight') > $(element).height()) {
var myText = $(element).text().split(" ")
myText.length = myText.length - 2
$(element).html(myText.join(" ") + " ...")
window.setTimeout('shorten("' + element + '")', 1)
}
}
$(document).ready(function() {
shorten('#descr1'); // the id of the container
});
</script>
2
他谈论的CSS属性是“文本溢出”。
尝试添加下面为您元素的类,所有需要:
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
相关问题
- 1. iPhone:文本宽度像素
- 2. 根据长宽比使Flash文件缩放到div宽度并保持高度
- 3. NSString文本像素长度
- 4. 根据最长文本的大小更改div的宽度
- 5. 的iOS:UIButton的根据文本长度
- 6. 如何根据文本长度/存在性给出列宽
- 7. 不能缩短NSString长度
- 8. 如何缩短url长度?
- 9. 如何根据缩放后的图像宽度动态设置div宽度
- 10. 如何根据UIScreen宽度自动缩小文本中的文本
- 11. 如何根据文字长度使图像高度增长?
- 12. 固定宽度div,根据长度动态调整文本的大小
- 13. 如何使UI根据文本的大小调整长度和宽度?
- 14. 如何根据长度分段文本?
- 15. 如何根据标签文本长度来拉伸容器宽度?
- 16. 根据长度
- 17. 根据字节长度缩短UTF8字符串的最佳方法
- 18. 输入元素宽度短于选择元素宽度
- 19. 表列宽度意外缩短
- 20. 基于宽度的文本缩放
- 21. 根据可用的宽度和字体计算文本高度?
- 22. 根据可用宽度调整图像
- 23. 根据宽度调整图像大小
- 24. 根据线条长度设置容器的宽度
- 25. 如何根据textBox1.Length缩短字符串到特定长度c#
- 26. 如何缩短UUID到特定长度?
- 27. 在.net中缩短DataProtection加密长度?
- 28. 缩短纯文本文本
- 29. 最大宽度像素宽度100%
- 30. 如何根据文本/字符串的长度调整文本框的高度
目的是为了缩短文本,以便在最后的话是STIL可见。例如:非常非常非常长的文本 - >非常长的文本。如果这可以用CSS完成,请提供信息。 – Drejc 2008-12-05 20:45:56