• CSS样式中文字的换行


    在我们做输出时可能会遇到这样一个问题,就是汉字和英文字母相遇,然后自动换行的问题。例如,当我在输出产品标题时,由于产品名称比较长,包括汉字和英文字母,FF下浏览是正常的,而IE下面 英文会出现换行。当然,如果您是前端高手,纯粹是小菜一碟。于我而言,经常会忘记在样式里定义,就会出现这样的问题:在FF 里样式是如效果图一样,汉字和英文在同一行,而在IE下面,汉字和英文字母分别占据一行。这时只需在样式里设置: word-break: break-all;就可以解决问题了。

      今天我就对这个知识点做个小总结,也算是自己学习一下吧。在css中强制换行有下面三个属性word-break、word-wrap、white-space。下面我对每一个属性进行一个介绍:

    word-break 属性

    属性值:normal |break-all |keep-all

    参数:
    normal :  依照亚洲语言和非亚洲语言的文本规则,允许在字内换行。
    break-all :  该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。
    keep-all :  与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本。
    说明:
    设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。对于中文,应该使用break-all 。
    补充实例:当设置了word-break:break-all ;假设div宽度为200px,它的内容就会到200px自动换行,如果该行末端有个很长的英文单词,它会把单词截断,一部分保持在行尾,另一部分换到下一行。

    word-wrap属性

    属性值: normal | break-word
    normal:控制连续文本换行。
    break-word:内容将在边界内换行。

    说明:

    设置或检索当当前行超过指定容器的边界时是否断开转行。
    补充实例:当设置了word-wrap:break-word ;例子与上面一样,但区别就是它会把整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉。

    white-space

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

    补充实例:white-space:nowrap; overflow:hidden; text-overflow:ellipsis; 

    这里是禁止换行,让多出的内容以省略号...来表达。但是这个属性主要用于IE等浏览器,Opera浏览器用-o-text-overflow:ellipsis; 而Firefox浏览器没有这个功能,多出的内容只能隐藏起来。

  • 相关阅读:
    linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
    Linux 删除文件夹和创建文件的命令
    linux下拷贝整个目录
    星云大师:这十句话 我受用一生
    dex
    瘋耔java语言笔记
    VCC_VID_VTT等的含义
    一位数码管引脚
    android从应用到驱动之—camera(2)---cameraHAL的实现
    android从应用到驱动之—camera(1)---程序调用流程[转]
  • 原文地址:https://www.cnblogs.com/wqsbk/p/3493948.html
Copyright © 2020-2023  润新知