网页文字默认显示固定行数,点击按钮显示全部怎么实现?
上图所示,默认显示固定行数,点击箭头显示全部内容,
目前是使用 -webkit-line-clamp
实现,但是过渡的时候没有动画效果,大家有什么别的方法吗?
补充:
需做的时一个列表样式的,由于内容不实固定的,是后台传入的,有些内容多,有些内容少,所以没有办法设置一个固定的高度。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
设置固定高,overflow:hidden,点击时候逐渐增加高度到全部显示,不知道行不行
实现的方式不少,可以用css动画,也可以用jquery等,个人思路:
先设置一个固定高度,点击箭头,换个高度即可,例如:
建议使用css的transation, 设置div点击前后的height, 与展开动画,动画时间,就可以简单实现,完全不用js,js控制dom元素做动画是非常低效的,动画效果不应该考虑用它实现
http://codepen.io/bran93/pen/... 把transiton用于max-height,但是有一个问题就是max-height 不好确定
我的看法还是简单的外部一个div为.outer设置
overflow:hidden:
固定好line-height和height
内部设置一个div为.inner
获取.inner的高度
点击按钮时让外部div高度animate到内部div的高度就好了
html:
css
javascripte
简单的写了下
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
你试一下用transition过渡。
html:
css:
我昨天刚写了这种,你设置一个高度,然后overflow:hidden,动画的话就用jquery的$('.类名').animate({height:"展开后的高度"},1000);
<p style="height: 102px;overflow: hidden;"></p>
点击展开按钮
document.getElementsByTagName('p')[0].style.overflow = "";
document.getElementsByTagName('p')[0].style.height = "auto";
这只是一种方式吧,样式和效果什么的可以再调的.