zoukankan      html  css  js  c++  java
  • CSS 之 div中文字超出时自动换行

          在开发中很容易遇到div中文字超出的问题,在此总结以下方法:

    1. white-space :属性设置如何处理元素内的空白。这个属性声明建立布局过程中如何处理元素中的空白符。所有浏览器都支持 white-space 属性。注,任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

    描述
    normal 默认。空白会被浏览器忽略。
    pre 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
    nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
    pre-wrap 保留空白符序列,但是正常地进行换行。
    pre-line 合并空白符序列,但是保留换行符。
    inherit 规定应该从父元素继承 white-space 属性的值。

    2. word-break属性规定自动换行的处理方法。通过该属性,可以让浏览器实现在任意位置换行。语法:word-break: normal|break-all|keep-all;

    描述
    normal 使用浏览器默认的换行规则。
    break-all 允许在单词内换行。
    keep-all

    只能在半角空格或连字符处换行。

    3. 对于div进行强制换行

    [1](IE浏览器)white-space:normal; 或  word-break:break-all;这里前者是遵循标准。

    #wrap{white-space:normal; 200px; } 或者 #wrap{word-break:break-all;200px;}

    [2](Firefox浏览器)white-space:normal; 或 word-break:break-all; overflow:hidden;同样的FF下也没有很好的实现方法,只能隐藏或者加滚动条,当然不加滚动条效果更好!

    #wrap{white-space:normal; 200px; overflow:auto;} 或者 #wrap{word-break:break-all;200px; overflow:auto; }

    4. 对于table强制换行

    table-layout属性用来显示表格单元格、行、列的算法规则。

    [1](IE浏览器)使用样式table-layout:fixed;

    [2](IE浏览器)使用样式table-layout:fixed与nowrap;

    [3] (IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap

    [4](Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div。

    强制不换行:div{white-space:nowrap;}

    自动换行:div{ word-wrap: break-word; word-break: normal;}

    强制英文单词断行:div{word-break:break-all;}

  • 相关阅读:
    SQL Server创建索引的技巧分析
    SQL Server创建索引
    kmp算法的应用
    相交环的面积
    Rebranding
    Olympiad
    找新朋友
    卡特兰数
    越狱
    Wolf and Rabbit
  • 原文地址:https://www.cnblogs.com/xinaixia/p/3928589.html
Copyright © 2011-2022 走看看