文字超过1行、2行或者规定的行数,文字自动加省略号

来源:互联网 发布:新浪微博刷粉软件 编辑:程序博客网 时间:2024/04/28 01:09
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>    <script type="text/javascript">        $(function () {            $(".figcaption").each(function (i) {                var divH = $(this).height();                var $p = $("p", $(this)).eq(0);                while ($p.outerHeight() > divH) {                    $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));                };            });        });    </script>    <style>        *{            padding: 0px;            margin: 0px;        }        .figcaption{            width: 300px;             height: 50px;             /*根据父元素的高度来添加省略号            *可以任意设置显示的行数            */            border: 1px solid red;        }    </style></head><body>    <div class="figcaption">        <p>            You probably can't do it (currently?) without a fixed-width font like Courier. With            a fixed-width font every letter occupies the same horizontal space, so you could            probably count the letters and multiply the result with the current font size in            ems or exs. Then you would just have to test how many letters fit on one line, and            then break it up.</p>    </div></body><script></script></html>