转载:pre标签解决自动换行问题

原文链接:http://www.ipmtea.net/css_ie_firefox/201007/18_134.html

 

先看看pre的定义 HTML pre 标签 定义和用法 pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 pre 标签的一个常见应用就是用来表

 

先看看pre的定义

HTML <pre> 标签

定义和用法

 

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

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

 

在 HTML 4.01 中,pre 元素的 "width" 属性是不被赞成使用的。

在 XHTML 1.0 Strict DTD 中,pre 元素的 "width" 属性是不被支持的。

 

 给pre添加一个overflow的样式, 

  1. overflow:auto

在IE7下测试,这时,会出现滚动条,auto值的意思是当超出宽度时才出现滚动条,如果设置overflow:scroll,即使没有超出宽度也有滚动条,
有趣的是:对于pre标签,如果你想只设置垂直方向滚动而不设置水平方向是不行的,即:

  1. overflow-y: auto | scroll

即使没有设置overflow-x,但是如果内容超出宽度,依然会出现滚动条,即当设置overflow-y:auto|scroll的时候,
overflow-x默认为:auto


white-space的问题:

<pre>标签可以理解为默认CSS就是{white-space:pre}

 在IE下,可以设置{word-wrap:break-word }
word-wrap:设置或检索当当前行超过指定容器的边界时是否断开转行。
word-wrap:break-word:内容将在边界内换行。如果需要,词内换行(word-break)也行发生。

 遗憾的是,貌似firefox不支持此属性。

  


浏览器默认是强制不换行输出 pre 里的内容。这样的话,代码一长就出现了撑到页面外部的样子。当然,你可以在编辑文章的时候手动换行,不过我觉得很麻烦,而且我是个懒人
 
 

  1. pre {   
  2. whitewhite-space: pre-wrap; /* css-3 */   
  3. whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */   
  4. whitewhite-space: -pre-wrap; /* Opera 4-6 */   
  5. whitewhite-space: -o-pre-wrap; /* Opera 7 */   
  6. word-wrap: break-word; /* Internet Explorer 5.5+ */   

 

经测试,除IE[当前使用6]外, 其他可以.... 郁闷,然后增加 width:600px; 后,ok,.换行了,其实位置还是衍生出去了。样子是这样的: 代码是在里面了,但下面的叙述性的东西却出了去。在说,定义一个这个宽度也不是个好的方法,其他的不直接改这个css的方法基本没有了。 
然后看上面css想到, 为什么定义其他的都用 white-space 而定义 IE 的不使用呢? 又不是IE 不支持。。于是加上就可以了

 

  1. pre {   
  2. whitewhite-space: pre-wrap; /* css-3 */   
  3. whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */   
  4. whitewhite-space: -pre-wrap; /* Opera 4-6 */   
  5. whitewhite-space: -o-pre-wrap; /* Opera 7 */   
  6. word-wrap: break-word; /* Internet Explorer 5.5+ */   
  7. whitewhite-space : normal ; /* Internet Explorer 5.5+ */   
  8. }  

 

至于本站上使用的是把ie和其他的分开了,因为white-space 在最后也都作用于其他了....

 

  1. pre {   
  2. whitewhite-space: pre-wrap; /* css-3 */   
  3. whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */   
  4. whitewhite-space: -pre-wrap; /* Opera 4-6 */   
  5. whitewhite-space: -o-pre-wrap; /* Opera 7 */   
  6. }  

 

 

  1. * html pre {   
  2. word-wrap: break-word; /* Internet Explorer 5.5+ */   
  3. whitewhite-space : normal ; /* Internet Explorer 5.5+ */   
  4. }  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值