zoukankan      html  css  js  c++  java
  • CSS文本超出2行就隐藏并且显示省略号

    今天做东西,遇到了这个问题,百度后总结得到了这个结果。

     

    首先,要知道css的三条属性。

    overflow:hidden; //超出的文本隐藏

    text-overflow:ellipsis; //溢出用省略号显示

    white-space:nowrap; //溢出不换行

    这三个是css的基础属性,需要记得。

    但是第三条属性,只能显示一行,不能用在这里,那么如果显示多行呢?

     

    css3解决了这个问题,解决方法如下:

    display:-webkit-box; //将对象作为弹性伸缩盒子模型显示。

    -webkit-box-orient:vertical; //从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)

    -webkit-line-clamp:2; //这个属性不是css的规范属性,需要组合上面两个属性,表示显示的行数。

     

    最后的css样式如下:

    overflow:hidden; 

    text-overflow:ellipsis;

    display:-webkit-box; 

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2; 

     

    转载自:http://blog.csdn.net/bing0728004/article/details/51509435

     

    -----------------------------------一下代码还未验证真伪-------------------------------------------

     

    如果是两行或者三行的容器,想要纯用css实现这个方法,是没办法做到的。

     

    可以提供两种方法,一是用程序输出时截字,二是用js判断字数截取。

     

    JS的demo如下:

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
     
    <title>Examples</title>
    <style type="text/css">
    .demo{100px;}
    </style>
    </head>
    <body>
    <div class="demo" id="demo">怎么显示两行或三行文字,然后多出的部分省略号代替?</div>
    <script>
    // js无法直接通过class获取对象,必须自己写一个方法,这样效率会非常低,原生js里最好用id获取,
    // 直接用id获取domo对象
    var oBox=document.getElementById('demo');
    // slice() 方法可从已有的数组中返回选定的元素。
    // 您可使用负值从数组的尾部选取元素。
    // 如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。
    // 此处需要根据需求自行修改slice()的值,以达到要显示的内容
    var demoHtml = oBox.innerHTML.slice(0,10)+'...';
    // 填充至指定位置
    oBox.innerHTML = demoHtml;
    </script>
    </body>
    </html>

     

  • 相关阅读:
    Core Data入门
    web前端开发与iOS终端开发的异同
    Blocks编程
    ARC下循环引用的问题
    小项目
    error: /Users/**/Documents/workspace/***/clean_right_normal.png: No such file or directory
    修复NSTextAlignmentCenter引起的警告
    Implicit conversion loses integer precision: 'long long' to 'NSUInteger' (aka 'unsigned int')
    手势相关函数
    implicit declaration of function setxattr is invalid in c99
  • 原文地址:https://www.cnblogs.com/wyaocn/p/5830364.html
Copyright © 2011-2022 走看看