早些时候,我在这里得到了很好的帮助,解决了有关溢出文本的一些问题,以及如何将这些问题转化为新的div。参考号:Issues with text formatting after jQuery将文本限制为div的问题
现在我看到了文本在不同浏览器(即IE11和Chrome)中显示的差异。我知道这是正常的,但我不知道我可以在我的代码中更改它们以显示类似的内容。 您可以在IE11中看到小提琴的外观:http://jsfiddle.net/hm2yfw61/9/ 这里,文本在希望显示文本的区域上流过3-4行。
对于现场测试,您可以在这里查看我的测试页面:http://tangeland.net/brev/test.php - 在IE11中显示奇怪。在Chrome中它看起来更好,但是我想说它可能会在文本以新的div开始之前削减大部分文本。
这里是我使用了jQuery:
var currentCol = $('.box:first');
var text = currentCol.html();
currentCol.html('');
text = text.replace(/ (?![^<>]*>)/gi, '%^%');
var wordArray = text.split('%^%');
$.fn.hasOverflow = function() {
var div = this[0];
return div.scrollHeight>div.clientHeight;
};
for(var x=0; x<wordArray.length; x++){
var word= wordArray[x];
currentCol.append(word+' ');
if (currentCol.hasOverflow()){
currentCol = currentCol.next('.box');
}
}
谢谢!
你想对溢出文本做什么,隐藏它,隐藏它(即使只显示半行),滚动? – 2014-10-20 10:54:41
感谢@RohitAggarwal的回复。我希望它继续在一个新的div,如我已提供的例子。然而在像IE11这样的浏览器中,它会先流出第一个div,然后继续下一个。在Chrome中,它继续下一步,提前在div底部留下一些空闲空间。我可以忍受的铬问题。修复IE11中的溢出问题是最重要的。 – Thorbj 2014-10-20 11:11:59