如何让无空格的长字符在IE和FF下面实现自动换行…

2008-02-23 08:45:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  无空格连续长字符在IE与FF下有时候能实现自动换行,因为浏览器将它看成是一个长单词了。IE下很简单,给容器比如一个p定义word-wrap属性即可:

p {word-wrap:break-word;}

  对于firefox,至少现在用CSS是没有办法解决的,大多数是用overflow将撑出的部分隐藏或者加滚动条,因为word-wrap不是css2的标准属性,所以Mozilla不支持这个。既然CSS无法做到,那么只有使用JS的方法了。

  首先给这个容器p一个ID“#hh”,然后在页面中插入一段JS:

<script type="text/javascript">
function toBreakWord(intLen){
var obj=document.getElementById("hh");
var strContent=obj.innerHTML;
var strTemp="";
while(strContent.length>intLen){
strTemp =strContent.substr(0,intLen) "
";
strContent=strContent.substr(intLen,strContent.length);
}
strTemp ="
" strContent;
obj.innerHTML=strTemp;
}
if(document.getElementById && !document.all) toBreakWord(40)
</script>

其中最后一句括号中的(40)是每行的字母的数目,不过它不能分辨每个词的长度,就是说英文单词会全部被截断,不管是不是连续的长字符,这不符合书写习惯也不利于阅读,但是这是偶找到比较好的解决办法。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:知识:DIV与SPAN之间有什么区别

下一篇:总结:IE6不支持的CSS选择符