`
笨到迟钝
  • 浏览: 2267 次
  • 性别: Icon_minigender_1
  • 来自: 宿州
最近访客 更多访客>>
社区版块
存档分类
最新评论

转载: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. }  

 

 

分享到:
评论

相关推荐

    html pre标签使文本自动换行

    在给定的CSS代码中,通过组合使用`white-space: pre-wrap`与其他浏览器的前缀版本,确保了在主流浏览器(如IE6, IE7, IE8, Firefox, Opera, Safari 和 Chrome)中,`&lt;pre&gt;`标签内的文本都能自动换行。`word-wrap: ...

    Label的ToolTip属性,或是a标签的提示换行问题

    通过以上方法,我们可以有效地解决“Label的ToolTip属性,或是a标签的提示换行问题”,不仅提升了页面的可读性,还增强了用户体验。在实际开发中,灵活运用这些技术,能够帮助我们构建更加健壮、用户友好的Web应用...

    CSS 文字自动换行

    ### CSS文字自动换行 #### 知识点一:CSS自动换行的原理与方法 在Web开发中,实现文本的自动换行是一项常见的需求。本文档主要介绍了如何利用CSS来实现不同浏览器环境下的自动换行功能,并特别关注了对老旧浏览器...

    让pre标签自动换行示例代码

    然而,默认情况下,`&lt;pre&gt;` 标签内的文本如果长度超过容器宽度,不会自动换行,而是会溢出。这在某些情况下可能不理想,尤其是在有限的屏幕空间或需要适应不同设备尺寸时。 为了让 `&lt;pre&gt;` 标签的内容自动换行,...

    英文强制换行css 使用css强制英文单词断行代码

    在做企业站的英文版的时候,英文单词由于剩下的空间不足,导致整个单词都换行,造成单词之间的空隙太大。如下图: 使用css属性word-break:break-all;...overflow:hidden 隐藏 white-space:normal 默认 pre 换行

    struts2的checkboxlist标签换行

    可以添加自定义CSS类到`&lt;s:checkboxlist&gt;`标签,然后在CSS文件中设置`display`属性为`inline-block`或`block`,并利用`white-space: pre-line`或者` `标签来控制换行。例如: ```html &lt;s:checkboxlist list=...

    div+pre标签的组合实现文本原格式显示与自动换行

    对于未知的文本格式,如果要求文本单行过长时换行显示,并且保留原文本的空格和换行符,就可以通过div+pre标签的组合,再分别设定各自的样式来实现(pre标签一般不适用width属性) 复制代码代码如下: &lt;!DOCTYPE ...

    ckeditor纯数字和纯字母不能换行问题

    在使用CKEditor(Content Keypad Editor)编辑器的过程中,可能会遇到一个特殊的问题:当输入的内容仅包含纯数字或者纯字母时,这些内容无法正常进行自动换行。这个问题对于用户体验来说是一个不小的挑战,尤其是在...

    gridview一般换行,强制换行

    1. **一般换行**:在默认情况下,GridView的单元格(cell)内的文本如果没有超过单元格宽度,会自动换行。但当文本长度超出单元格宽度时,由于CSS的`white-space`属性默认为`normal`,文本会被压缩至单元格内,可能...

    关于IE标签LI文字换行问题

    - pre:保留空白符序列,但会像对待pre元素一样进行换行; - nowrap:保留空白符序列,并且不允许文本自动换行; - pre-wrap:保留空白符序列,并且允许文本自动换行; - pre-line:合并空白符序列,并且允许文本...

    pre 自动换行的问题

    而浏览器默认是强制不换行输出 pre 里的内容。这样的话,代码一长就出现了撑到页面外部的样子。在之前我都是有意的在代码里强制换行... 累啊. 今天有意的google了下,找到了: [code]pre { whitewhite-space: pre-...

    html pre标记里内容自动换行

    被包围在 pre 元素中的文本通常会保留空格和换行符,但不幸的是,当你在&lt;pre&gt;标签里面写代码的时候,如果你没有手动换行,它也会给你保留,而不会自动换行。 这时候,你可以使用overflow:auto; (当代码超出容器边界...

    css是如何实现在页面文字不换行、自动换行、强制换行的方法

    本文介绍了css是如何实现在页面文字不换行、自动换行、强制换行的方法,分享给大家,具体如下: 强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词...

    iText+Flying Saucer生成pdf文档,中文不显示和不自动换行问题重新Breaker.class

    总的来说,iText+Flying Saucer生成PDF文档时遇到的中文不显示和不自动换行问题,可以通过调整字体设置、优化CSS布局和正确使用PageBreaker类来解决。在实际开发中,要充分理解这两个库的工作原理,结合实际需求进行...

    css之自动换行(ZT)

    `pre`保留所有空白,不进行换行和字符合并,而`pre-wrap`则允许换行但保持空白字符。 3. **`overflow-wrap`**(旧称为`word-break`):此属性与`word-wrap`类似,用于处理长单词或短语的换行。设置为`break-word`...

    htmlprint:HTML打印(wkhtmltoimage换行)

    例如,`--no-wrap`选项可以禁用自动换行,而`--disable-smart-shrinking`可以防止图片在转换过程中缩小,导致文字换行。 4. **预处理脚本**:在调用`wkhtmltoimage`之前,可以通过编写脚本来预处理HTML,处理换行和...

Global site tag (gtag.js) - Google Analytics