使pre的内容自动换行(转)

<pre> 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。

<pre> 标签的一个常见应用就是用来表示计算机的源代码。

而我们经常碰到的一个问题是如果一个代码上碰到有图片或者网页地址就会使代码很长,结果会造成页面撑开或者代码超出边界。非常难受,如果用overflow:hidden那么会将原来的代码隐藏掉,用overflow:auto则会出现滚动条,代码也不方便阅读。

点击查看:http://www.css88.com/demo/pre/index-1.html

今天折腾了一个晚上终于搞定<pre>的内容自动换行的问题:

1.先尝试使用:word-wrap: break-word;将内容自动换行,IE,OP,Chrome,Safari都可以,FF就悲剧了。

点击查看:http://www.css88.com/demo/pre/index-2.html

2.查看了pre的浏览器默认样式:

xmp, pre, plaintext {
  display: block;
  font-family: -moz-fixed;
  white-space: pre;
  margin: 1em 0;
}
都有这个white-space: pre,看看white-space的值:
描述
normal 默认。空白会被浏览器忽略。
pre 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap 保留空白符序列,但是正常地进行换行。
pre-line 合并空白符序列,但是保留换行符。
inherit 规定应该从父元素继承 white-space 属性的值。

有个pre-wrap,保留空白符序列,但是正常地进行换行。

这样就OK了搞定,我们只要加上样式:

pre {

white-space: pre-wrap;

word-wrap: break-word;

}

就能使<pre>的内容自动换行了。

点击查看:http://www.css88.com/demo/pre/

时间: 2024-08-07 17:01:18

使pre的内容自动换行(转)的相关文章

使pre的内容自动换行

<pre> 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre> 标签的一个常见应用就是用来表示计算机的源代码. 而我们经常碰到的一个问题是如果一个代码上碰到有图片或者网页地址就会使代码很长,结果会造成页面撑开或者代码超出边界.非常难受,如果用overflow:hidden那么会将原来的代码隐藏掉,用overflow:auto则会出现滚动条,代码也不方便阅读. 点击查看:http://www.css88.com/de

如何使英文博客内容自动换行

如何使英文博客内容自动换行 如果博客全部是英文或者是数字,结果会把页面撑开,不能自动换行. 如果你的博客可以支持源代码编辑,例如,CSDN博客中有个<>的图表就是源代码编辑模式,以下方法可以实现英文或者数字的自动换行: 1.CSS样式法: <table style="table-layout:fixed;"> <td style="="left:0; white-space:normal; word-break:break-all;ov

表格列宽怎么设置都无效?(td内容自动换行问题)

有次设置表格列宽时,显示的实际宽度与设置的宽度不一致,且无规律变化.最后,在查找资料后发现,可能是td内容 自动换行 的问题.因为表格中的内容有中文.英文字母.还有数字,以及三者的各种组合,所以换行的方式不一致,导致列宽变化.(个人分析,不妥之处请拍砖.) 所以添加以下css可以解决问题: table{ word-break:break-all ; word-wrap:break-word } 说明: (1) word-break:break-all:截断单词进行换行. (2) word-wra

表格内容自动换行

给表格的内容自动换行,先给表格的表头每列宽度定好.然后给table定样式 <table width="100%" border="1" cellpadding="0" cellspacing="0" style="TABLE-LAYOUT:fixed;"> <tr align="center" style="background:url(images/tabl

DIV的内容自动换行

word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行. 它们的区别就在于: 1,word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了. 2,word-wrap:break

表格固定宽度时,内容自动换行

有时,table表格中列过多.内容多时,常常会根据每列的业务含义,挑出一些列,设置他们的宽度变窄. 但是总是有例外.比如有一条数据在那一列刚好内容特别多,那么页面显示中其内容将显示不全. 解决办法:<TD>标签内增加style="word-wrap:break-word;"样式. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HE

html表格内容自动换行

有时候表格会因为内容多少忽大忽小的很烦人,在网上搜了下解决方案,效果不错哦,给大家分享下!首先介绍两个利器:table-layout:fixed //固定表格大小word-break:break-all;//字符串自动换行 注意:IE和firefox是有很大区别的!(我就是栽在这个上面了,⊙﹏⊙b汗)1. (IE浏览器)使用 table-layout:fixed;强制table的宽度,多余内容隐藏<table style="table-layout:fixed" width=&q

使用百分比固定的table大小中td内容自动换行问题

连续的英文或数字能是容器被撑大,不能根据容器的大小自动换行,对于Div和table以及不同的浏览器,实现css自动换行的方法都稍有不同,下面分别介绍: 对于div 1.(IE浏览器)white-space:normal; word-break:break-all;这里前者是遵循标准. 以下是引用片段:#wrap{white-space:normal; width:200px; } 或者 #wrap{word-break:break-all;width:200px;} <div id="wr

html-div中内容自动换行

<div style='width: 100px;display:block;word-break: break-all;word-wrap: break-word;'> 内容超出div宽度后自动换行的css代码 </div>