我需要将文本放在具有精确宽度的div框中。
有没有一种方法(例如JavaScript)使文本在所有主流浏览器中看起来相同?
例如,如果文本不适合'div'框,请剥去一些字母。不同浏览器中文本的大小(宽度)
回答
首先,设置你的字体和大小与CSS。那么你几乎总是有相同的宽度。
然后你可以添加overflow:hidden;到你的div,所以它不会显示任何结束的东西。
取决于你如何做这个,你可以使用填充和利润不设置宽度,这样它会永远适合在div。虽然这可能不是你想要的。
只需添加以下属性到CSS规则的DIV:
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
不错。不幸的是我的FF4不支持文本溢出:省略号; – pi11
@ pi11 - 是的,这是一个众所周知的FF问题(请参阅http://stackoverflow.com/questions/4927257/text-overflowellipsis-in-firefox-4-and-ff5)。据说FF7终于支持省略号了...... –
可以截断与CSS或JavaScript的文本。这里有一个简单的jQuery插件,截断我写这允许“显示更多”链接,如果文本被截断的例子:
$.fn.trunc = function(_break_at) {
var _article = jQuery(this).text();
var _leader = [];
var _trailer = [];
var _substr = _article.split(' ');
$(this).wrapInner('<div class="long"></div>');
$.each(_substr, function(i, data) {
if (i < _break_at) {
_leader.push(data);
}
});
if (_substr.length > _break_at) {
$('<div/>').addClass('short').html(_leader.join(' ')).prependTo(this);
$('<span/>').appendTo('.long').addClass('toggle').html(' << Show less');
$('<span/>').appendTo('.short').addClass('toggle').html('... Show more >>');
}
$('.toggle').click(function() {
$('.short, .long').toggle('show');
});
};
$(function() {
// This is how you use it
$('#article_body').trunc(2);
});
谢谢,但是如何估计每行文本的_break_at值呢?例如,此文本 - “lllllll”和此文本 - “WWWWWW”采用不同的宽度(如果使用的不是等宽字体)。 – pi11
- 1. 浏览器大小(宽度和高度)
- 2. 文本在不同浏览器中的大小不同
- 3. 在IE浏览器的宽度与IE浏览器不同的宽度div
- 4. 媒体查询浏览器大小宽度小于高度
- 5. 通过jQuery中的不同浏览器宽度重新定位div通过不同的浏览器宽度
- 6. 更改浏览器宽度的li高度调整大小
- 7. 浏览器窗口高度和宽度的大小div
- 8. 不同浏览器的像素大小
- 9. 浏览器调整大小后可变宽度不会改变
- 10. 最小宽度的浏览器窗口
- 11. 使用最小宽度编码调整浏览器大小
- 12. 将浏览器大小更改为特定高度/宽度?
- 13. GoogleTV webview宽度不同于GoogleTV浏览器宽度
- 14. 最大宽度241px不能在最小浏览器大小下工作
- 15. 谷歌浏览器中的最大宽度与最大高度
- 16. body/html的宽度小于浏览器问题的宽度
- 17. 不同的宽度会导致不同的浏览器$(“#div1”).width()?
- 18. 浏览器宽度的100%宽度div
- 19. Javascript在不同的浏览器中显示不同的大小?
- 20. 不同的浏览器中的不同窗口/体大小
- 21. HTML最大浏览器宽度
- 22. JQuery - 文件宽度/高度 - 来自不同浏览器的不同值
- 23. 边缘浏览器:小孩div比父母指定的宽度宽度更大
- 24. 浏览器宽度调整大小的垂直对齐问题
- 25. 在不同浏览器中采用不同大小的页脚
- 26. JqGrid宽度调整大小调整浏览器大小的问题
- 27. 修复不同浏览器大小的图像大小
- 28. 动态宽度div自动调整大小以适应浏览器宽度?
- 29. jquery动态获取宽度作为浏览器宽度调整大小
- 30. 如何根据浏览器窗口的可变宽度设置px中的最小宽度和最大宽度?
总是有CSS溢出隐患。 – kojiro
这不适合我。隐藏的溢出可以切割中间的字母。 – pi11
@ pi11:如果文本不适合'div'框,请删除一些字母? –