css如何解决文本内容标点没有在行首同时长的英文字符会自动换行呢

html-css015

css如何解决文本内容标点没有在行首同时长的英文字符会自动换行呢,第1张

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整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。

3,word-breakbreak-all 支持版本:IE5以上 该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。 WORD-WRAP:break-word 支持版本:IE5.5以上 内容将在边界内换行。如果需要,词内换行( word-break )也将发生。表格自动换行,避免撑开。 word-break : normal | break-all | keep-all 参数: normal : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行 break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本 keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本 语法: word-wrap : normal | break-word 参数: normal : 允许内容顶开指定的容器边界 break-word : 内容将在边界内换行。如果需要,词内换行(word-break)也行发生说明:设置或检索当当前行超过指定容器的边界时是否断开转行。

对应的脚本特性为wordWrap。请参阅我编写的其他书目。 语法: table-layout : auto | fixed 参数: auto : 默认的自动算法。布局将基于各单元格的内容。表格在每一单元格读取计算之后才会显示出来。速度很慢 fixed : 固定布局的算法。在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度,而和表格内容无关说明:设置或检索表格的布局算法。对应的脚本特性为tableLayout。

建议:word-break 用3C检测会显示问题的,导致百度快照也会出问题-这个属性OPERA FIREFOX 浏览器也不支持 word-break属性可以用white-space:normal来代替,这样在FireFox和IE下就都能正确换行,而且要注意,单词间的空格不能用 来代替,不然不能正确换行。

css文字强制换行的方法,用word-wrap属性

在默认情况下,如果文本的内容超过某个div块的宽度的话,就会发生自动换行,因为div块的white-space属性的默认值是normal。但是也有两种情况:

1、如果div块里是一串的文字内容,那么到了div块的width限制时,会自动换行。

2、如果div块里一串没有空格的字母或者数字的时候是那就不换行了,而是直接溢出div块。这时就要考虑css文字强制换行了。

那CSS样式怎么控制文字的强制换行?

这时候我们需要用到word-wrap属性,还有一个属性word-break也能够解决换行问题,但是它的浏览器兼容性不好,并且还有可能导致其他问题,所以这里不建议使用。

word-wrap的break-word属性值可以导致换行,一般说来如果一个单词比较长的话,行末的空间不足以容纳这个单词就会产生换行,而不是将一个单词截断,word-break的break-all属性值可以截断一个单词

<style type="text/css">

    .first

    {

        width:120px

        height:60px

        border:1px solid blue

        word-wrap:break-word

    }

    .second

    {

        width:120px

        height:60px

        border:1px solid red

        word-break:break-all

    }

解释:

1、反反复复反反复复发反反复复反反复复反反复复发反反复复反反复复反反反反复复发反反复复

这个浏览器认为是一段话,就是 反 反 复 复 是一个一个得字符。然后就会自动换行。

2、sssssssssssssssssssssssssss

这个浏览器认为是一个单词(貌似单词很长的说),但是确实就是一个very long的单词 单词是不会存在换行的。再举个例子ssssssssssssssss aaaaaaaaaaaaaaaaa 中间有个空格,那么他们就是两个单词了,要是连在一起 就是一个单词了。

解决办法:

首先说一下,ssssssssssssssssssssssss现实生活基本碰不上,除非有人恶搞...

在CSS中补上{overflow:hidden}

******************************************

楼上说的word-break是IE私有属性。ff不支持。

另外即使用也要用word-wrap:break-word;因为word-break:break-all就是所有英文都要换行,会把单词截断的,影响阅读。

word-break:break-all //把英文单词不管三七二十一给弄断了,影响阅读。

word-wrap:break-word //不仅可以把超级长的英文单词截断,还可以根据空格区分英文单词,保持它的可读性。

最后FF不支持上面两个。

再说,还是那句话sssssssssssssssssssssssssssssss现实生活基本碰不上,除非有人恶搞...