职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 854|回复: 11

JavaEye论坛里的小bug:连续英文字符的换行问题

  [复制链接]
有烟没火 发表于 2011-7-31 09:36 | 显示全部楼层 |阅读模式
对于 div p 等元素,浏览器会将连续的英文字符当成一个单词,于是不会换行;这可能导致字符串突破父容器大小限制的现象发生,如图:


使用前:

ab5fbada-51ce-3a38-8e3d-3496b833729f.png

思路1:由于连续字符并不表达明确的具体意义,可以将其超出部分隐藏

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决方案1:


Css代码  
.postbody{   
   overflow:hidden;   
}  

.postbody{
   overflow:hidden;
}  


使用后:



但这样可能导致其他后果,欢迎大家探讨
芷馨 发表于 2011-7-31 09:36 | 显示全部楼层
这个我上次也碰到过,非常头痛

暂时没想到什么特别好的办法

yoyo 发表于 2011-7-31 09:36 | 显示全部楼层
只要是ff下的,没太好的办法。
ie下可以用word-break:break-all来搞定。
逼不得已的话,可以在字符串里夹杂<wbr/>来搞


gz-vps 发表于 2011-7-31 09:36 | 显示全部楼层
我发现 Discuz!7.0 里没有这个问题, 就firebug了一下,以下是Discuz的解决方案:


Css代码  
word-wrap: break-word;  

word-wrap: break-word;
PS&WIKI: word-wrap是控制换行的属性,word-wrap:break-word 的意思是将文本将在边界换行,必要时断开单词;
经本人测试firefox3,ie6,chrome 通过,可以将连续字符断行,而不影响正常单词;//Dreamweaver 提示低版本浏览器不支持该属性;


so 我认为比较完美的解决方案:

Css代码  
*{   
   word-wrap: break-word;   
}   
.postbody{     
   overflow:hidden;     
}   

*{
   word-wrap: break-word;
}
.postbody{  
   overflow:hidden;  
}   这样对于低版本的浏览器,超出内容将隐藏,而正常浏览器将会看到折行效果

希望管理员修复这个小bug, 呵呵





能文能武 发表于 2011-8-5 11:44 | 显示全部楼层
什么什么啊??
叫我小乖 发表于 2011-8-10 10:42 | 显示全部楼层
强人,佩服死了。呵呵,不错啊
木已 发表于 2011-8-11 14:31 | 显示全部楼层
照你这么说真的有道理哦 呵呵 不进沙子馁~~~
找不到我 发表于 2011-8-15 09:11 | 显示全部楼层
终于看完了~~~
江南枫 发表于 2011-8-15 09:13 | 显示全部楼层
谢谢分享了!
钰云 发表于 2011-8-16 10:03 | 显示全部楼层
一楼的位置好啊..
 楼主| 有烟没火 发表于 2011-8-16 10:05 | 显示全部楼层
兄弟....表给偶丢丢哦....
钰云 发表于 2011-8-18 13:39 | 显示全部楼层
ding   支持
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-19 19:23 , Processed in 0.167159 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表