今天被一个问题搞的很惨,用了很多时间,查了很多资料,都没啥特别好的放法,无语下,按自己的逻辑写了一下。

所要实现的功能如下图:一是文本切换折叠;二是折叠状态下,尾行文本不显示全行。

HTML结构:

<!-- 作品介绍 vue -->
<div :class="bool?'readingBriefIntro':'introCut'"><p>{{bool?introDetail.intro:introDetail.intro.substr(0,44)+'...'}}</p><p>{{introDetail.author}}</p><!-- 标签,elementui Popover 弹出框 --><el-popover   v-for="(item,index) in introDetail.talk" :key="index" placement="top" title="" width="200" trigger="click" :content="item.value"><el-button slot="reference">{{item.name}}</el-button></el-popover><!--上下折叠按钮 --><button :class="bool?'detailOpen':'detailClose'" @click="openclose()"></button>
</div>

逻辑处理:
通过一个变量进行控制

每次点击右下角折叠按钮,触发点击事件,切换bool的值

每次bool的值变化,折叠按钮的样式(反转方向)就会进行更改;同样,容器的样式(高度高低)也会修改


同时,容器里的第一个元素,因为是要展示出来的,随着容器高度的变化,我们也是通过判断bool的值来动态更改显示的内容。如下,在收缩时,从后台获取到的字符串就被截取一定的字数,然后加上“…”。

题外话:
1、我使用了计算属性里的一个方法,我给它命名为introDetail,来获取vuex中的数据(数据请求通过vuex的actions来处理,然后通过mutations来赋值给state里的变量comicMainData)

2、相关的css样式:

/* 作品介绍 */
.readingBriefIntro {box-sizing: border-box;margin-top: .6rem;padding: 0 .15rem;width: 100%;height: 3.34rem;/* background: gold; */color: #5a5a5a;font-size: .14rem;line-height: 1.5;text-align: justify;position: relative;
}
.introCut{box-sizing: border-box;margin-top: .6rem;padding: 0 .15rem;width: 100%;height: .4rem;color: #5a5a5a;font-size: .14rem;line-height: 1.5;text-align: justify;position: relative;overflow: hidden;/* 本来想用多行省略号的,但发现需求的尾行效果是不全显示,就不能这样写了display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;word-break: break-all; */
}.readingBriefIntro p:nth-child(2) {margin: .1rem 0;
}.readingBriefIntro button {/* display: inline-block; */height: .27rem;line-height: .27rem;padding: 0 .129rem;border: .01rem solid #d3d3d3;border-radius: .3rem;text-align: center;white-space: nowrap;margin-right: .1rem;
}.readingBriefIntro .detailOpen {background: url(http://m.migudm.cn/images/detail/arrow.png) no-repeat left center;width: .14rem;height: .14rem;background-size: contain;padding: 0;border: 0;position: absolute;bottom: .2rem;right: 0.15rem;transform: rotateZ(180deg);
}.detailClose {background: url(http://m.migudm.cn/images/detail/arrow.png) no-repeat left center;width: .14rem;height: .14rem;background-size: contain;padding: 0;border: 0;position: absolute;right: 0.15rem;top: .22rem;
}

细节复盘3 (文本折叠、文本尾行缩进截断)2020-8-2相关推荐

  1. 【Linux脚本-sed命令在文本首行和尾行插入空行】

    @[TOC]Linux脚本-sed命令在文本首行和尾行插入空行 Linux脚本-sed命令在文本首行和尾行插入空行 演示如下: 首先创建需要操作的文本文件 //create a file contai ...

  2. 首行缩进2字符,CSS文本外观之文本缩进

    text-indent属性 text-indent: 20px; --缩进20px text-indent: 2em; --2em 则是缩进当前元素 2个文字大小的距离 代码: <!DOCTYP ...

  3. 首行缩进和悬挂缩进的区别

    首行缩进和悬挂缩进是常见的段落缩进方式,用于调整段落的排版样式.它们可以在文本处理软件中应用于段落或选定的文本部分. 首行缩进:首行缩进是指将段落的第一行向内缩进一定的距离,以使段落的其余行保持靠近页 ...

  4. android webservices 返回多行多列数据,Pandas: 如何将一列中的文本拆分为多行?

    本文和大家分享的主要是使用 Pandas 将一列中的文本拆分为多行相关内容,一起来看看吧,希望对大家 学习 Pandas 有所帮助. 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别 ...

  5. 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  6. html代码文本框首行缩进,如何将HTML页面中的文本设置首行缩进

    text-indent属性介绍 属性值单位 描述 em 比如:1em 就代表缩进1个字,2em缩进2个字...... 由于简单我就不过多的介绍了直接上代码了哦,注意:text-indent属性的值支持 ...

  7. iOS 9应用开发教程之多行读写文本ios9文本视图

    iOS 9应用开发教程之多行读写文本ios9文本视图 多行读写文本--ios9文本视图 文本视图也是输入控件,与文本框不同的是,文本视图可以让用户输入多行,如图2.23所示.在此图中字符串" ...

  8. 【数据平台】pandas将一列中的文本拆分成多行

    1.场景:如下图,要将cont中的字符串分割出词汇并单独成一行 2.一列中的文本拆分成多行的效果: 3.实现方法: 方法一: df=df.drop('cont', axis=1).join(df['c ...

  9. 文本编辑器中命令行参数的应用

    文章目录 1 文本编辑器中命令行参数的应用 1 文本编辑器中命令行参数的应用 我们要知道对于每一个应用程序我们都能够接收命令行参数,那么对于GUI系统中命令行参数如何传递到应用程序呢? 主要有如下两种 ...

  10. shell 删除文本中的重复行(sort+uniq/awk/sed) (方法=效率啊)

    From: http://churuimin425.blog.163.com/blog/static/341298772012230112956712/ 删除文本中的重复行(sort+uniq/awk ...

最新文章

  1. SLAM之特征匹配(一)————RANSAC-------OpenCV中findFundamentalMat函数使用的模型
  2. 统计简单学_回归分析
  3. Android完全退出程序、线程
  4. 题解报告:hdu1219AC Me
  5. IE8的parseInt
  6. java.nio.Buffer flip()方法
  7. linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件
  8. 高性能线程间队列 DISRUPTOR 简介
  9. Yahoo网站性能最佳体验的34条黄金守则
  10. python 选择多个文件夹_如何同时选择多个文件?
  11. 7位应届生讲述就业难:面试20多家公司,甚至当了保安
  12. ASP.NET页生命周期介绍:阶段,事件及其他
  13. linux目录跳转快捷方式——z武器
  14. 日常工具搬运——python逐行写入txt文件
  15. echarts地图随机点生成
  16. 网络基础知识详解(图解版)
  17. 模仿百思不得姐项目笔记
  18. 「镁客·请讲」小库科技何宛余:用人工智能去更高效的协助建筑设计工作
  19. 2020年chx的计算机保研之路系列(1)——北师大人工智能学院+北航计算机学院(均获得优营)
  20. PHPMyWind 事务

热门文章

  1. Coordinatorlayout嵌套滑动,自定义Behavior,听我来讲讲?
  2. javascript基础常识问答(五)
  3. 独立董事、内部董事、执行董事、外部董事、非执行董事概念
  4. Qt自定义标题栏可拖动修改窗口大小
  5. 三人表决器逻辑表达式与非_数电实验 | 组合逻辑电路(半加器全加器及逻辑运算)...
  6. 布尔逻辑代数化简公式
  7. Redis的优点和缺点
  8. 2015年8月4日工作日志--------赵鑫
  9. 成都Uber优步司机奖励政策(3月10日)
  10. unity篇-官方序列化接口 ISerializationCallbackReceiver