css 文本超出,显示省略号

单行文本省略号

显示省略号

    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 110px;

文本不换行

    word-wrap: normal;
    white-space: nowrap;
    word-break: keep-all;
 
添加省略号失败,可能有以下几种情况:
  1. 设置了display: -webkit-box;

多行文本省略号

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 286px;
 

因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;

注:

  1. -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
  2. display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
  3. -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

小程序-文本省略号

单行:在以上基础上,添加.display: block;

注:小程序如果是text类型,添加省略号,多个text内容会换行,无法自适应排版。

可以换个方案:

1   // 对文本添加省略号
2   getTrimmedText = (text: string, maxLength: number = 8) => {
3     var trimmedText = text;
4     if (text && maxLength > 0 && text.length > maxLength) {
5       trimmedText = text.slice(0, maxLength) + '...';
6     }
7     return trimmedText;
8   }

 

posted @ 2020-11-16 20:30  唐宋元明清2188  阅读(224)  评论(2编辑  收藏  举报