日期:2013-05-30  浏览次数:21198 次

  我们都知道<pre>标签可定义预格式化的文本,一个常见使用就是用来表示计算机的源代码。被包围在pre元素中的文本通常会保留空格和换行符,但不幸的是,当你在<pre>标签里面写代码的时候,如果你没有手动换行,它也会给你保留,而不会动换行。
  这时候,你可以使用overflow:auto;(当代码超出容器边界的时候,显示滚动框),但这个方法也并不适用于所有主流浏览器,一些浏览器会直接截断超出的内容。


  由于本站中使用源码的地方也不是很多,之前也不是很在意这个问题,前不久有位热心的网友在QQ上反馈这个问题,于是在趁这次改换主题时,寻觅了一下处理方案,分享之。
  pre{
  white-space:pre-wrap;/*css-3*/
  white-space:-moz-pre-wrap;/*Mozilla,since1999*/
  white-space:-pre-wrap;/*Opera4-6*/
  white-space:-o-pre-wrap;/*Opera7*/
  word-wrap:break-word;/*InternetExplorer5.5+*/
  }


  该CSS方案可让pre标签内的文本自动换行,我在我有的浏览器上都测试了一下,全部支持,IE6,IE7,IE8,Firefox,Opera,Safari和Chrome。

  仅当你把窗口缩小到小于20个字符的宽度的时候,才会超出边界。