在div中,文本布局经常出现,换行混乱的情况。
问题表现:1.如果是全英文字符串,中间不包含任何符号(包括空格),不自动换行. 
          2.中英文混写,则在英文字符串的开始处换行(英文长度>div长度),结尾处不换行。 
          3.英文整个单词换行。等等,可能还有一些问题,这里只列出了常见的几个;
介绍上面几个css属性功能的简单用法; 
word-wrap:normal | break-word; (内容换行)
         normal:默认的属性值.(允许内容顶开指定的容器边界). 
         break-word:内容将在边界内换行(不截断英文单词换行,截断英文单词下面的属性才具备这个

功能。)

word-break:normal | break-all | keep-all (词内换行)
           normal:如果是中文则到边界处的汉字换行,如果是英文整个词换行,注意:如果出现某个英文字

符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示. 
           break-all : 强行换行,将截断英文单词
           keep-all : 不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单

词也整个换行,注意:如果出现某个英文.字符串长度超过边界,则后面的部分将撑开边框,如果边框为

固定属性,则后面部分将无法显示. 
参数:
normal :  依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all :  该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适

合包含一些非亚洲文本的亚洲文本
keep-all :  与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含

少量亚洲文本的非亚洲文本
说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。
对于中文,应该使用break-all 。
对应的脚本特性为wordBreak。
示例:
div {word-break : break-all; } 
div里文本将整齐显示

text-overflow:clip | ellipsis (文本溢出)
             clip :  不显示省略标记(...),而是简单的裁切
             ellipsis :  当对象内文本溢出时(超过width部分)显示省略标记(...)

white-space: normal | pre | nowrap (内容不换行)

white-space 属性值一览表 
属性值     空白符     换行符     自动换行     最早出现于
normal     合并         忽略          允许          CSS 1
nowrap    合并         忽略         不允许        CSS 1
pre           保留        保留        不允许         CSS 1
pre-wrap  保留        保留          允许          CSS 2.1
pre-line     合并        保留          允许          CSS 2.1

normal 默认。空白会被浏览器忽略。 
pre 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。 
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 
(层中放一个表格,如果层的float:none 则表格和层间会有空隙,这种问题的解决办法是在层的

style里面加上white-space: nowrap)

使用方式: word-break:break-all;

一般情况下: 
.body{ 
       word-wrap:break-word; 
       word-break:keep-all; 
       overflow:hidden; 
}

.css{
      text-overflow:ellipsis;
      white-space:nowrap;
      overflow:hidden;
}

IE与Firefox将它看成是一个长单词了,因此不会自动换行。 
对于IE,可以通过IE专有的CSS属性word-wrap即可实现自动换行:word-wrap:break-word;

对于Firefox,CSS2标准并没有定义类似word-wrap的属性,可以通过overflow属性将撑出的部分隐

藏:overflow:hidden

white-space:pre-wrap; 文字自动整体换行,加WIDTH

white-space:pre-wrap; 文字自动整体换行,加WIDTH

word-wrap,word-break,white-space,text-overflow的区别和用法的更多相关文章

  1. word break和word wrap

    默认情况下,如果同一行中某个单词太长了,它就会被默认移动到下一行去: word break(normal | break-all | keep-all):表示断词的方式 word wrap(norma ...

  2. word wrap 解惑

    源起 我们经常需要“修复”一个老生常谈的“bug”,那就是文本的自动换行问题.在专业术语上,这种期望得到的渲染现象被称作“word wrap”,即文本处理器有能力把超出页边的整个词自动传到下一行. 在 ...

  3. 第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件

    iOS打开本地和网络上的word.ppt.excel.text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word.ppt.excel等文件格式.那么系统提供两个类去预览这些文件 ...

  4. Microsoft.Office.Interop.Word 创建word

    Microsoft.Office.Interop.Word 创建word 转载:http://www.cnblogs.com/chenbg2001/archive/2010/03/14/1685746 ...

  5. reverse the string word by word

    题目:Given an input string, reverse the string word by word. For example,Given s = "the sky is bl ...

  6. LeetCode 5:Given an input string, reverse the string word by word.

    problem: Given an input string, reverse the string word by word. For example: Given s = "the sk ...

  7. dom4j解析xml报错:Nested exception: org.xml.sax.SAXParseException: White space is required between the processing instruction target and data.

    采用dom4j方式解析string类型的xml xml:        String string="<?xmlversion=\"1.0\" encoding=\ ...

  8. C#用Microsoft.Office.Interop.Word进行Word转PDF的问题

    之前用Aspose.Word进行Word转PDF发现'\'这个字符会被转换成'¥'这样的错误,没办法只能换个方法了.下面是Microsoft.Office.Interop.Word转PDF的方法: p ...

  9. jquery html属性和text属性的区别

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. alt text 与 tooltip区别

    在做工具的Accessiblity测试时, 对于image对象,一直分不清它的alt属性与tooltip属性的区别与用法, 从网上查了下, 比较认同这样的观点: alt属性: alternative ...

随机推荐

  1. Redis 集群使用(2)

    Redis包含三种集群策略: 主从复制 哨兵模式 redis cluster 主从复制 在主从复制中,数据分为两类:主数据库(master)和 从数据库(slave).其中主从复制有如下特点: 主数据 ...

  2. ie6、ie7下overflow失效

    如果父对象有overflow:hidden属性,子对象中的position属性是relative或者absolute, 那么在ie6和ie7下父对象的overflow会失效,解决办法是给父对象加rel ...

  3. 关于 拼接 url 连接 参数的问题(爬虫)。

    比如这里 我找的 后台请求的json的链接: 第一页: http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api?appkey=1 ...

  4. Leetcode 之Length of Last Word(37)

    扫描每个WORD的长度并记录即可. int lengthOfLast(const char *s) { //扫描统计每个word的长度 ; while (*s) { if (*s++ != ' ')/ ...

  5. php的设计模式------工厂模式

    1.工厂模式简介 属于创建型模式.定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行主要解决的问题:接口选择的问题. 2.分类 2.1 简单工厂模式 接口: ...

  6. python代码实现dijkstra算法

    求解从1到6的最短路径. python代码实现:(以A-F代表1-6) # Dijkstra算法需要三张散列表和一个存储列表用于记录处理过的节点,如下: processed = [] def buil ...

  7. System.Web.HttpContext.Current.Request用法

    public static void SetRegisterSource() { if (System.Web.HttpContext.Current.Request["website&qu ...

  8. Nginx设置默认目录

    server { listen ; server_name basic.com; index index.html index.htm index.php; root /www/wwwroot/bas ...

  9. 递归遍历JSON树

    递归遍历JSON树 前几天有个人问我,json串的层级无限深,但在json串中的key是已知的,在json串中的value,有些事Object,有些是Array,如何把这些层级无限深的key所对应的v ...

  10. centos7yum安装tomcat

    执行安装命令 [root@localhost ~]# yum -y install tomcat 查询tomcat是否安装成功 [root@localhost ~]# rpm -q tomcat to ...