当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > html pre标记里内容自动换行

HTML/XHTML教程
HTML5之后W3C将制定无版本号的HTML
IE6必然灭亡的最新6个理由
网页制作教程:单独对IE6进行兼容
Firefox 3.6频繁崩溃的问题
HTML5的发展:微格式和相关的属性名称
Chrome最新4.0版本支持GreaseMonkey脚本
网页前端常见的攻击方式和预防攻击办法
HTML5标准将把互联网视频扔回到黑暗时代
靠我们自己的力量把IE6推向灭亡
近期热点:HTML5是否真的可以取代Flash
网页知识新手了解:网页设计的发展历史
TinyEditor:简洁且易用的html所见即所得编辑器
ANSI,Unicode,UTF-8网页编码的区别
HTML5实例:20个使用HTML5编写的网站
网页表单设计:主要行为与次要行为
HTML网页实例代码:简洁漂亮的跳转等待页面
经验分享:关于网页布局排版的流程问题
W3C发布7个HTML工作草案
HTML5 旨在解决 Web 中的交互
网页优化的最基础部分:HTML的优化

HTML/XHTML教程 中的 html pre标记里内容自动换行


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 75 ::
收藏到网摘: n/a

这时候,你可以使用overflow:auto; (当代码超出容器边界的时候,显示滚动框), 但这个方法也并不适用于所有主流浏览器,一些浏览器会直接截断超出的内容 。

我们都知道<pre> 标签可定义预格式化的文本,一个常见应用就是用来表示计算机的源代码。被包围在 pre 元素中的文本通常会保留空格和换行符,但不幸的是,当你在<pre>标签里面写代码的时候,如果你没有手动换行,它也会给你保留,而不会自动换行。

这时候,你可以使用overflow:auto; (当代码超出容器边界的时候,显示滚动框), 但这个方法也并不适用于所有主流浏览器,一些浏览器会直接截断超出的内容 。

pre wrap 解决 标签里的文本换行(兼容IE, FF和Opera等)

由于本站中使用源码的地方也不是很多,之前也不是很在意这个问题,前不久有位热心的网友在QQ上反馈这个问题,于是在趁这次更换主题时,寻找了一下解决方案,分享之。

代码如下:

pre {
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}

该CSS方案可让pre标签内的文本自动换行,我在我有的浏览器上都测试了一下,全部支持,IE6,IE7, IE8, Firefox, Opera, Safari和Chrome。
仅当你把窗口缩小到小于20个字符的宽度的时候,才会超出边界
另外,看到一些帖子也有分享这个CSS技巧,说能解决长词换行的问题,但我试了一下,还是不行。