zoukankan      html  css  js  c++  java
  • [转载 css]wordwrap,wordbreak,whitespace,textoverflow的区别和用法

    在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 : 不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行,注意:如果出现某个英文.字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示.

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

    white-space: normal | pre | nowrap (内容不换行)
    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

  • 相关阅读:
    EF6 AddOrUpdate之后,数据没有改变而是新增了一条数据解决办法
    php多文件上传数组 转换
    windows svn 上传后 自动部署 到web目录下
    一组实用网址
    apache 虚拟ip
    ThinkPHP 空方法 显示
    thinkphp 创建子应用
    Zend Studio 9.0.4 新建项目
    鼠标悬浮停留三秒 显示大图
    mysql GROUP BY 与 ORDER BY 查询不是最新记录
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427119.html
Copyright © 2011-2022 走看看