一般而言,如果只是对付url过长超出文字框显示的话,只用word-wrap: break-word;即可。
但v2ex同时还用了word-break: break-all;,我认为可能有以下理由:
1. 希望兼容IE8或更低版本,但可能不知道IE其实支持word-wrap: break-word;,只是要求父元素hasLayout(例如是display: block元素)
http://stackoverflow.com/questions/3997223/word-wrapbreak-word-not-working-in-ie82. 想左右对其所有文字,但又不想用难看的justify。这方面我觉得还是心理关,你就当这是css layout的feature就好了。
无论是哪个,我觉得对于打断一个英文词而言,都是太大的代价。尤其当换行的时候正好遇到缩写简称,也是要反应半天。
因此我的建议是,用一个media query将word-break: break-all;重置,这样新的浏览器没必要为老的浏览器牺牲(IE8或以下不支持media query,自然也就继续用word-break: break-all;了)。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/200795
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.