IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    HTML中多文字超过预定值显示省略号

    ISnail_发表于 2013-11-29 08:28:42
    love 0

    原文转自:http://www.yanduren.com/?p=427

    首先需要设置三个属性:

    1. over-flow
    2. text-overflow
    3. white-space

    简单介绍一下三个属性的作用。

    over-flow

    定义和语法:

    overflow 属性规定当内容溢出元素框时发生的事情。

    这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。

    它可能出现的值:

    值 描述
    visible 默认值。内容不会被修剪,会呈现在元素框之外。
    hidden 内容会被修剪,并且其余内容是不可见的。
    scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
    auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
    inherit 规定应该从父元素继承 overflow 属性的值。

    text-overflow

    定义和语法

    text-overflow 属性规定当文本溢出包含元素时发生的事情。

    它可能出现的值:

    值 描述
    clip 修剪文本。
    ellipsis 显示省略符号来代表被修剪的文本。
    string 使用给定的字符串来代表被修剪的文本。

    white-space

    定义和语法:

    white-space 属性设置如何处理元素内的空白。

    这个属性声明建立布局过程中如何处理元素中的空白符。值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的。

    它可能出现的值:

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

    这个三个属性需要搭配使用才能形成超出预定值显示省略号的效果。

    text-overflow属性仅是注解,当文本溢出时是否显示省略标记。并不具备其它的样式属性定义。要实现溢出时产生省略号的效果还须定义:强制文本 在一行内显示(white-space:nowrap)及溢出内容为隐藏(overflow:hidden),只有这样才能实现溢出文本显示省略号的效 果。

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

    * 值得注意的是,被定义的元素必须包含宽度!



沪ICP备19023445号-2号
友情链接