文本缩略问题-位置

文本缩略问题

  • 有的要求是单行文本末尾有省略符号
  • 有的要求是多行文本有省略符号
  • 有的要求是单行文本中间有省略符号
  • 有的要求是多行文本可展开伸缩的末尾省略符号
  • 下面代码在react下可直接使用(class -> className)

单行省略末尾

  • css
    {/* 单行省略末尾 css */}
    <p className="uniline-end-wrapper">
      君不见黄河之水天上来,奔流到海不复回
    </p>
    
    /* 单行省略末尾 */
    .uniline-end-wrapper {
      width: 120px;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }
    

多行省略末尾

  • css
    {/* 多行省略末尾 css */}
    <p className="textarea-end-wrapper">
      君不见高堂明镜悲白发,朝如青丝暮成雪。 人生得意须尽欢,莫使金樽空对月
    </p>
    
    /* 多行省略末尾
      -webkit-line-clamp是webkit的私有属性,是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
      -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
      display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
      -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
    */
    .textarea-end-wrapper {
      width: 120px;
      /* 自动隐藏文字 */
      overflow: hidden;
      /* 文字隐藏后添加省略号 */
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      /* 控制行数 */
      -webkit-line-clamp: 2;
    }
    

单行省略中间

  • css

    {/* 单行省略中间 css */}
    <p className="uniline-middle-wrapper">
     <span className="left">天生我材必有用,千金散尽还</span>
     <span className="right">复来.png</span>
    </p>
    
    /* 单行省略中间 */
    .uniline-middle-wrapper {
      display: flex;
      max-width: 180px;
      overflow: hidden;
    }
    
    .uniline-middle-wrapper .left {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      display: inline-block;
    }
    
    .uniline-middle-wrapper .right {
      white-space: nowrap;
    }
    

可展开伸缩的省略末尾

  • js
    import LinesEllipsis from "react-lines-ellipsis";
    
    {/* 多行省略 兼容性好 参数控制 */}
    <p className="textarea-end-wrapper">
      <LinesEllipsis
        text="烹羊宰牛且为乐,会须一饮三百杯。岑夫子,丹丘生,将进酒,杯莫停。
      与君歌一曲,请君为我倾耳听。"
        maxLine="3"
        ellipsis="..."
        trimRight
        basedOn="letters"
      />
    </p>
    ``
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值