移动端文本超出设定行数后省略的方法

Posted nealXue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端文本超出设定行数后省略的方法相关的知识,希望对你有一定的参考价值。

因为移动端绝大部分是WebKit内核的浏览器,如果纯粹的要实现文本在超出规定行数后,其余内容省略并加上“...”,可以直接使用WebKit私有属性:-webkit-line-clamp来实现

css代码

.box{
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

html代码

<div class="box">001A航母的建成标志着中国成为世界上少数几个可以独立建造航母的国家,由于中国处在快速发展蓝水海军的进程中,在不远将来中国拥有多支航母编队是可以预期的,中国建设强大海军的帷幕真正拉开了。</div>

那如果还需要有一个展开全部和收起的操作,那光用css是无法实现的。

这边推荐一个比较成熟的jQuery插件-jQuery.dotdotdot 下载地址

首先引入jquery.js和dotdotdot.js

html代码

<div class="dotbox">
  001A航母的建成标志着中国成为世界上少数几个可以独立建造航母的国家,由于中国处在快速发展蓝水海军的进程中,在不远将来中国拥有多支航母编队是可以预期的,中国建设强大海军的帷幕真正拉开了。
</div>

css代码

.dotbox.opened {height: auto;}/*展开后容器高度自适应*/
.dotbox .close,.dotbox .open,.dotbox.opened .open {display: none;}/*默认展开收起按钮隐藏,展开时展开按钮隐藏*/
.dotbox.is-truncated .open,.dotbox.opened .close {display: inline-block;}/*超出规定行数展开按钮显示,展开后收起按钮显示*/
.dotbox{line-height: 18px;height:36px;color: #333;}
.more-btn{display:block;color: #333;line-height: 18px;}
.toggle{display:block;}

js代码

<script type="text/javascript">
    $(function(){
        var $dot = $(‘.dotbox‘);
        $dot.append(‘<a class="toggle"><span class="more-btn open">查看全部</span><span class="more-btn close">收起</span></a>‘);
        function createDots() {
            $dot.dotdotdot({
                after: ‘a.toggle‘
            });
        }

        function destroyDots() {
            $dot.trigger(‘destroy‘);
        }
        createDots();
        $dot.on(
            ‘click‘,
            ‘a.toggle‘,
            function() {
                $dot.toggleClass(‘opened‘);
                if ($dot.hasClass(‘opened‘)) {
                    destroyDots();
                } else {
                    createDots();
                }
                return false;
            }
        );
    })
</script>

 

以上是关于移动端文本超出设定行数后省略的方法的主要内容,如果未能解决你的问题,请参考以下文章

手机网页里,一段文本超出显示省略号(…),这个CSS怎么设置

利用css3实现超出文本指定行数与省略号效果

css或者jquery怎么实现超出指定行数就在后面出现省略号

移动端奇葩的多行文字省略隐藏

css 文本超出容器长度后自动省略的方法!

web前端入门到实战:css实现单行、多行文本超出显示省略号