div 实现长英文字母自动换行——兼容IE/FF/CHROME

最近做个英文网站,DIV内的英文不能自动换行,搜了一下,都是用IE独有的属性控制,对FF没作用,套表格的方法又觉得有点笨拙。继续查了(搜索引擎真是个好东西),终于找到完美方案,兼容IE/FF/CHROME,分享给大家:

 

CSS中加入:

 

div{
word-wrap:break-word;
word-break:break-all;/*前两项是IE独有属性,有了这两行IE没问题了*/
-moz-binding: url('wordwrap.xml#wordwrap');/*这个是针对FF的,xml文件位置可以自己指定*/
word-break:break-all;
white-space: moz-pre-wrap;
overflow: hidden;
}

 

以下是XML文件内容

 

<?xml version = "1.0"?>

<bindings xmlns = "http://www.mozilla.org/xbl" xmlns:html = "http://www.w3.org/1999/xhtml">
<binding id = "wordwrap" applyauthorstyles = "false">
<implementation>
<constructor>
//<![CDATA[

var elem = this;
elem.addEventListener('overflow',
function()
{
var exp = /<&#8203;\/*[&#8203;_\s="'\w]+>/g;

var txt = elem.innerHTML;
var chars = txt.split('');
var newTxt = chars.join('&#8203;');
newTxt = newTxt.replace(exp, reconstructTag);
elem.innerHTML = newTxt;
},false);

function reconstructTag(_tag)
{
return _tag.replace(/&#8203;/g, '');
}

//]]>
</constructor>
</implementation>
</binding>

</bindings>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值