美文网首页
文本超出显示省略符号...

文本超出显示省略符号...

作者: LO_0668 | 来源:发表于2020-12-16 14:59 被阅读0次

    一行的写法

    效果如下图


    一行的效果图

    代码如下

    .one {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    
    <view class="one">这里是一行的文字,有很多内容我需要超出部分显示成省略号</view>
    

    一行的实现比较简单,首先控制文本不换行,然后超出部分隐藏,最后设置文本溢出的样式。

    多行的写法

    效果图如下


    多行的效果图

    代码实现如下

    .introduction {
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
    }
    
    <view class="introduction">这里是多行的文字,有很多内容我需要超出部分显示成省略号,这里是多行的文字,有很多内容我需要超出部分显示成省略号,这里是多行的文字,有很多内容我需要超出部分显示成省略号</view>
    

    多行的实现就稍微麻烦了一点,会需要使用到一些结合属性。
    display:-webkit-box 将对象转为弹性伸缩盒子模型
    -webkit-box-orient:vertical 设置或检索伸缩盒对象的子元素的排列方式
    然后在通过-webkit-line-clamp:3 设置文字需要显示的行数
    不过这只方式会有兼容性问题,在不是webkit的浏览器上可能会失效

    通过伪元素来实现

    效果图如下


    兼容性比较好的写法的效果图

    代码实现如下

    .stable {
      position: relative;
      line-height: 1.4em;
      height: 4.2em;
      overflow: hidden;
    }
    .stable::after {
      content: '...';
      font-weight: bold;
      position: absolute;
      bottom: 0;
      right: 0;
      padding: 0 20rpx 0 0;
      background: #ffffff;
    }
    
    <view class="stable">
      这里是多行的文字,有很多内容我需要超出部分显示成省略号,这里是多行的文字,有很多内容我需要超出部分显示成省略号,这里是多行的文字,有很多内容我需要超出部分显示成省略号
    </view>
    

    这种写法就兼容性比较好,主要的实现思路就是控制显示区域的宽高,然后通过伪元素在右下角显示...。不过有缺点,就是控制不好,可能会有半个文字显示半个文字被遮住。所以在使用的时候可以根据自己项目的实际情况做选择。

    相关文章

      网友评论

          本文标题:文本超出显示省略符号...

          本文链接:https://www.haomeiwen.com/subject/pdbwgktx.html