您的位置:首页 > 其它

如何跨浏览器使用连续字符的换行

2008-07-21 15:06 211 查看
那如何解决这个问题呢?

在 IE 和 Safari 1.3+ 下相对比较容易解决,使用 CSS 属性 word-wrap: break-word;。有朋友会问为什么不是使用 word-break:break-all; ,因为有一个特殊的情况,该属性无法解决换行——连续的英文标点符号。

注:word-break 主要使用在 CJK 文本,即:中文(Chinese)、日文(Japanese)、韩文(Korean)。

而Firefox 和Opera浏览器,无法识别word-wrap: break-word; 和 word-break:break-all; 属性。可以通过脚本给连续字符的每个字符之间插入 \ u8203 的字符(该字符在非 IE 浏览下不占据空间),使连续变为了不连续,达到了换行的效果。

breakWord = function(dEl){

var dWalker = document.createTreeWalker(dEl, NodeFilter.SHOW_TEXT, null, false);

var node,s,c = String.fromCharCode('8203');

while (dWalker.nextNode()){

node = dWalker.currentNode;

s = trim( node.nodeValue ) .split('').join(c);

node.nodeValue = s;

}

return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: