实现连续长字符在IE与FireFox下自动换行的方法

80酷酷网    80kuku.com

  

IE下很简单,给容器比如一个div定义

div{word-wrap:break-word;}

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

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

<script type="text/javascript">
function toBreakWord(intLen){
var obj=document.getElementById("ff");
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)是每行的字母的数目,不过它不能分辨每个词的长度,就是说英文单词会全部被截断,不管是不是连续的长字符,这不符合书写习惯也不利于阅读,但是这是偶找到比较好的解决办法了。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: