CSS 控制换行

CSS: Word-wrap : normal | break-word

 
 
 
 
 

 

word-wrap:break-word;word-break:break-all;
//控制辩解换行 //控制断词 中文无影响 英文长串会自动断词
 
Word-wrap : normal break-word
取值:
normal :? 默认值。允许内容顶开指定的容器边界
break-word :? 内容将在边界内换行。如果需要,词内换行( word-break )也将发生

说明:
设置或检索当当前行超过指定容器的边界时是否断开转行。
此属性仅作用于有布局的对象,如块对象。内联要素要使用该属性,必须先设定对象的 height 或 width 属性,或者设定 position 属性为 absolute ,或者设定 display 属性为 block 。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 wordWrap 。
示例:
div { word-wrap: break-word; word-break: break-all; }
 
内容摘要:本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同word-break的区别。

  兼容 IE 和 FF 的换行 CSS 推荐样式

  最好的方式是

  word-wrap:break-word; overflow:hidden;

  而不是

  word-wrap:break-word; word-break:break-all;

  也不是

  word-wrap:break-word; overflow:auto;

  在 IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容。

  word-wrap同word-break的区别

  总结如下:

  word-wrap是控制换行的。

  使用break-word时,是将强制换行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。

  break-word是控制是否断词的。

  normal是默认情况,英文单词不被拆开。

  break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。

  keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)

 

ie下:

  使用word-wrap:break-word;所有的都正常。

  ff下:

  如这2个都不用的话,中文不会出任何问题。英文语句也不会出问题。但是,长串英文会出问题。

  为了解决长串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式会导致,普通的英文语句中的单词会被断开(ie下也是)。

  目前主要的问题存在于 长串英文 和 英文单词被断开。其实长串英文就是一个比较长的单词而已。

  即英文单词应不应该被断开那?那问题很明显了,显然不应该被断开了。

  对于长串英文,就是恶意的东西,自然不用去管了。但是,也要想些办法,不让它把容器撑大。

  用:overflow:auto; ie下,长串会自动折行。ff下,长串会被遮盖。

  所以,综上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。

  word-wrap:break-word;overflow:auto;在ie下没有任何问题。在ff下,长串会被遮住部分内容。

----------------------------------------------------------

自动换行word-break:break-all和word-wrap:break-word的区别
2007-11-26 15:15


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-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。
word-break;break-all 支持版本:IE5以上 该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。
WORD-WRAP:break-word 支持版本:IE5.5以上 内容将在边界内换行。如果需要,词内换行( word-break )也将发生。
还有,我在做KingCMS模板的时候,碰到easyarticle[list](此为5.0版本所含文件)页面。这个页面是个文章列表,其中有个 (king:description size="200"/)的标签,也就是说其描述是200个字符,因为默认的模板比内容div容器比较大,所以能正常显示,但当size设置为400的时候,超过内容div容器的时候,右栏的内容就会被顶到下面去,所以这时候在class中设置下word-wrap: break-word;就可以解决这个问题了。

 

posted @ 2013-06-26 10:52  CodingFarmer  阅读(464)  评论(0编辑  收藏  举报