原文链接:http://www.ipmtea.net/css_ie_firefox/201007/18_134.html
先看看pre的定义
HTML <pre> 标签
定义和用法
pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
<pre> 标签的一个常见应用就是用来表示计算机的源代码
在 HTML 4.01 中,pre 元素的 "width" 属性是不被赞成使用的。
在 XHTML 1.0 Strict DTD 中,pre 元素的 "width" 属性是不被支持的。
给pre添加一个overflow的样式,
- overflow:auto;
在IE7下测试,这时,会出现滚动条,auto值的意思是当超出宽度时才出现滚动条,如果设置overflow:scroll,即使没有超出宽度也有滚动条,
有趣的是:对于pre标签,如果你想只设置垂直方向滚动而不设置水平方向是不行的,即:
- 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 里的内容。这样的话,代码一长就出现了撑到页面外部的样子。当然,你可以在编辑文章的时候手动换行,不过我觉得很麻烦,而且我是个懒人
- pre {
- whitewhite-space: pre-wrap; /* css-3 */
- whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */
- whitewhite-space: -pre-wrap; /* Opera 4-6 */
- whitewhite-space: -o-pre-wrap; /* Opera 7 */
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- }
经测试,除IE[当前使用6]外, 其他可以.... 郁闷,然后增加 width:600px; 后,ok,.换行了,其实位置还是衍生出去了。样子是这样的: 代码是在里面了,但下面的叙述性的东西却出了去。在说,定义一个这个宽度也不是个好的方法,其他的不直接改这个css的方法基本没有了。
然后看上面css想到, 为什么定义其他的都用 white-space 而定义 IE 的不使用呢? 又不是IE 不支持。。于是加上就可以了
- pre {
- whitewhite-space: pre-wrap; /* css-3 */
- whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */
- whitewhite-space: -pre-wrap; /* Opera 4-6 */
- whitewhite-space: -o-pre-wrap; /* Opera 7 */
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- whitewhite-space : normal ; /* Internet Explorer 5.5+ */
- }
至于本站上使用的是把ie和其他的分开了,因为white-space 在最后也都作用于其他了....
- pre {
- whitewhite-space: pre-wrap; /* css-3 */
- whitewhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */
- whitewhite-space: -pre-wrap; /* Opera 4-6 */
- whitewhite-space: -o-pre-wrap; /* Opera 7 */
- }
- * html pre {
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- whitewhite-space : normal ; /* Internet Explorer 5.5+ */
- }
相关推荐
在给定的CSS代码中,通过组合使用`white-space: pre-wrap`与其他浏览器的前缀版本,确保了在主流浏览器(如IE6, IE7, IE8, Firefox, Opera, Safari 和 Chrome)中,`<pre>`标签内的文本都能自动换行。`word-wrap: ...
通过以上方法,我们可以有效地解决“Label的ToolTip属性,或是a标签的提示换行问题”,不仅提升了页面的可读性,还增强了用户体验。在实际开发中,灵活运用这些技术,能够帮助我们构建更加健壮、用户友好的Web应用...
### CSS文字自动换行 #### 知识点一:CSS自动换行的原理与方法 在Web开发中,实现文本的自动换行是一项常见的需求。本文档主要介绍了如何利用CSS来实现不同浏览器环境下的自动换行功能,并特别关注了对老旧浏览器...
然而,默认情况下,`<pre>` 标签内的文本如果长度超过容器宽度,不会自动换行,而是会溢出。这在某些情况下可能不理想,尤其是在有限的屏幕空间或需要适应不同设备尺寸时。 为了让 `<pre>` 标签的内容自动换行,...
在做企业站的英文版的时候,英文单词由于剩下的空间不足,导致整个单词都换行,造成单词之间的空隙太大。如下图: 使用css属性word-break:break-all;...overflow:hidden 隐藏 white-space:normal 默认 pre 换行
可以添加自定义CSS类到`<s:checkboxlist>`标签,然后在CSS文件中设置`display`属性为`inline-block`或`block`,并利用`white-space: pre-line`或者` `标签来控制换行。例如: ```html <s:checkboxlist list=...
对于未知的文本格式,如果要求文本单行过长时换行显示,并且保留原文本的空格和换行符,就可以通过div+pre标签的组合,再分别设定各自的样式来实现(pre标签一般不适用width属性) 复制代码代码如下: <!DOCTYPE ...
在使用CKEditor(Content Keypad Editor)编辑器的过程中,可能会遇到一个特殊的问题:当输入的内容仅包含纯数字或者纯字母时,这些内容无法正常进行自动换行。这个问题对于用户体验来说是一个不小的挑战,尤其是在...
1. **一般换行**:在默认情况下,GridView的单元格(cell)内的文本如果没有超过单元格宽度,会自动换行。但当文本长度超出单元格宽度时,由于CSS的`white-space`属性默认为`normal`,文本会被压缩至单元格内,可能...
- pre:保留空白符序列,但会像对待pre元素一样进行换行; - nowrap:保留空白符序列,并且不允许文本自动换行; - pre-wrap:保留空白符序列,并且允许文本自动换行; - pre-line:合并空白符序列,并且允许文本...
而浏览器默认是强制不换行输出 pre 里的内容。这样的话,代码一长就出现了撑到页面外部的样子。在之前我都是有意的在代码里强制换行... 累啊. 今天有意的google了下,找到了: [code]pre { whitewhite-space: pre-...
被包围在 pre 元素中的文本通常会保留空格和换行符,但不幸的是,当你在<pre>标签里面写代码的时候,如果你没有手动换行,它也会给你保留,而不会自动换行。 这时候,你可以使用overflow:auto; (当代码超出容器边界...
本文介绍了css是如何实现在页面文字不换行、自动换行、强制换行的方法,分享给大家,具体如下: 强制不换行 div{ white-space:nowrap; } 自动换行 div{ word-wrap: break-word; word-break: normal; } 强制英文单词...
总的来说,iText+Flying Saucer生成PDF文档时遇到的中文不显示和不自动换行问题,可以通过调整字体设置、优化CSS布局和正确使用PageBreaker类来解决。在实际开发中,要充分理解这两个库的工作原理,结合实际需求进行...
`pre`保留所有空白,不进行换行和字符合并,而`pre-wrap`则允许换行但保持空白字符。 3. **`overflow-wrap`**(旧称为`word-break`):此属性与`word-wrap`类似,用于处理长单词或短语的换行。设置为`break-word`...
例如,`--no-wrap`选项可以禁用自动换行,而`--disable-smart-shrinking`可以防止图片在转换过程中缩小,导致文字换行。 4. **预处理脚本**:在调用`wkhtmltoimage`之前,可以通过编写脚本来预处理HTML,处理换行和...