定高溢出隐藏一段文字 改变成 自适应高度显示所有文字(展开 收起功能)

本文介绍了如何通过CSS和JavaScript解决在uniappAPP端实现元素高度从定高变为自适应,以及收起时恢复原高度的过渡效果,关键在于利用scrollHeight属性处理内容溢出和过渡动画。
摘要由CSDN通过智能技术生成
想法

点击展开时,将溢出隐藏的属性去掉,高度改为自适应;点击收起时,将自适应的盒子改为定高,并溢出隐藏。 其实这个需求的本质是将定高变为自适应的过渡

困难点

transition是不支持将一个定值变为自适应的过渡。

分析

看上去这个问题的本质是将定高变为自适应的过渡,但是其实是将定高变为定高的过渡

为什么这么说呢,其实在HTML DOM 中有一个 scrollHeight 属性。我们先来了解一下这个属性。

      scrollHeight:返回元素整体的高度,包括由于 overflow 溢出而在屏幕上不可见的内容。

当元素不足以展示全部内容时,会出现不可视的内容区域(出现滚动条)时,这些不可视的内容也包括在scrollHeight内的。

当元素内容不要滚动条就可以容纳,则其scrollHeight 等于 clientHeight.

了解完这个属性是不是这个题目就简单了呢。

解决办法

那么只需要在原有要溢出隐藏的盒子上加一个定高 并加上溢出隐藏;

点击展开时,将高度改为这个节点的scrollHeight的值。并且加上transition过渡。

这里以uniapp APP端为例:

js:

var content = document,queryselector( #他的id);

var scrollHeight =content.scrollHeight;

content.style.height= scrollHeight + "px"

css:

transition: height 0.5s ease;

点击收起时,将高度该回去就好。并且加上transition过渡。

js:

var content = document,queryselector( #他的id);

content.style.height= " "

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值