CSS实例:如何让无空格的长字符在IE和FF下面实现自动换行?_DIV+CSS实例

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!
  无空格连续长字符在IE与FF下有时候能实现自动换行,因为浏览器将它看成是一个长单词了。IE下很简单,给容器比如一个p定义word-wrap属性即可:

示例代码 [www.mb5u.com]
p {word-wrap:break-word;}

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

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

示例代码 [www.mb5u.com]
<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)是每行的字母的数目,不过它不能分辨每个词的长度,就是说英文单词会全部被截断,不管是不是连续的长字符,这不符合书写习惯也不利于阅读,但是这是偶找到比较好的解决办法。

来源:无忧整理//所属分类:DIV+CSS实例/更新时间:2007-08-25
相关DIV+CSS实例