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. 缩短文本区域的长度
- 2. iPhone:文本宽度像素
- 3. 根据长宽比使Flash文件缩放到div宽度并保持高度
- 4. NSString文本像素长度
- 5. 根据最长文本的大小更改div的宽度
- 6. 的iOS:UIButton的根据文本长度
- 7. 如何根据宽度和高度像素在Android中缩放位图?
- 8. 如何根据文本长度/存在性给出列宽
- 9. 如何缩短url长度?
- 10. 不能缩短NSString长度
- 11. 根据文本的文本块的高度和宽度
- 12. 如何根据缩放后的图像宽度动态设置div宽度
- 13. 如何根据UIScreen宽度自动缩小文本中的文本
- 14. 如何从文本,而不是动态的宽度边长20像素的修复,根据屏幕尺寸CSS3
- 15. 缩放文本和宽度
- 16. 如何根据文字长度使图像高度增长?
- 17. 如何根据长度分段文本?
- 18. 如何根据文本长度
- 19. 固定宽度div,根据长度动态调整文本的大小
- 20. 如何使UI根据文本的大小调整长度和宽度?
- 21. 如何根据元素宽度截断文本,角?
- 22. 如何根据标签文本长度来拉伸容器宽度?
- 23. 根据规则缩短csv文件python
- 24. 根据长度
- 25. 如何缩短输入的长度
- 26. 根据字节长度缩短UTF8字符串的最佳方法
- 27. 根据另一宽度的Android宽度
- 28. 根据像素中的NSString大小设置UILabel长度:Objective C
- 29. 根据文本宽度制作导航栏堆叠的跨度宽度
- 30. 输入元素宽度短于选择元素宽度
目的是为了缩短文本,以便在最后的话是STIL可见。例如:非常非常非常长的文本 - >非常长的文本。如果这可以用CSS完成,请提供信息。 – Drejc 2008-12-05 20:45:56