css篇-mask-image + linear-gradient 优雅显示富文本过长

如何优雅显示富文本过长?

明人不说暗话,直接上例子


效果图-超出收起状态

效果图-超出伸展状态

html dom结构

<div class="rich-text">
      <div class="rich-text__words">
        <p>我是一个粉刷匠,粉刷本领强</p>
        <p>我是一个粉刷匠,粉刷本领强</p>
        <p>我是一个粉刷匠,粉刷本领强</p>
        <p>我是一个粉刷匠,粉刷本领强</p>
        <p style="text-align: center"><img style="max-width:100%;" src="https://img.kanhua.yiwaiart.com/eyadmin/fd63bba6-5d66-4d10-b83b-4d9d7c38e4db.jpg"/></p>嘻嘻<p><br/></p>
      </div>
      <img v-if="isShowOpen"
              :src="isOpen?'open.png':'close.png'"
              class="icon icon--open-all"
              @click="tapOpenAll" />
</div>

css实现方式 [ 部分 ]

// ...
.rich-text {
  // 外层div样式
  &__words {
    height: 150px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(#1a1a1a 55%, transparent);
    mask-image: linear-gradient(#1a1a1a 55%, transparent);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  // 打开时候不显示mask
  &.open {
    mask-image: none;
    -webkit-mask-image: none;
  }
}
// ...

关键css

 -webkit-mask-image: linear-gradient(#1a1a1a 55%, transparent);
 mask-image: linear-gradient(#1a1a1a 55%, transparent);
 -webkit-mask-size: 100% 100%;
 mask-size: 100% 100%;

说明

  1. mask-image: CSS中的mask属性允许用户屏蔽或剪裁特定点的图像来实现,部分或完全隐藏某个元素的可见性。
  2. linear-gradient:用线性渐变创建图像。

起因

由于富文本属于长文本,在页面上我们会有这种超出隐藏的功能需求,
如果是纯文本的话,我们大可以用slice截取字符串的方式来先显示几个字的方式,
但是由于富文本是由不同的html标签组成,这样的我们就会显得棘手。
如果我们不用蒙版遮罩的方式,就会变成这样


裁剪了一部分字的感觉

裁剪了一部分图片的感觉

不做处理的话,就觉得比较生硬,所以用上了mask-image + linear-gradient 就会显得比较优雅。
这里只是用了mask-image的一些属性,当然mask-image能够做的不止这些,具体有兴趣的可以去摸索看看咯。

真正的前端不只要会撸一手好的js,还要去考虑ued,我们都要知道第一印象很重要。
——尼古拉斯·峰

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,019评论 3 119
  • 2018年6月1日 今天儿童节,祝全天下的大朋友小朋友节日快乐! 今日热身跑十五分钟。 三组平躺抬腿踢教练的手30...
    朵三岁的成长日记阅读 162评论 0 1
  • 你要想逆袭,不给自己一些正(da)能(ji)量(xue)怎么应对这个残酷的世界?
    迎刃阅读 1,078评论 1 2
  • 所有的东西都在不断地流动变化着 科技的发展,信息迭代迅速,所有的东西都在流动和改变,如果想要与时俱进就需在忙碌的日...
    白咖啡鐘文萍阅读 308评论 0 0