html5 - 网页文字默认显示固定行数,点击按钮显示全部怎么实现?
PHPz
PHPz 2017-04-17 13:55:59
[HTML讨论组]

上图所示,默认显示固定行数,点击箭头显示全部内容,
目前是使用 -webkit-line-clamp 实现,但是过渡的时候没有动画效果,大家有什么别的方法吗?

补充:
需做的时一个列表样式的,由于内容不实固定的,是后台传入的,有些内容多,有些内容少,所以没有办法设置一个固定的高度。

PHPz
PHPz

学习是最好的投资!

全部回复(7)
阿神

设置固定高,overflow:hidden,点击时候逐渐增加高度到全部显示,不知道行不行

伊谢尔伦

实现的方式不少,可以用css动画,也可以用jquery等,个人思路:
先设置一个固定高度,点击箭头,换个高度即可,例如:

          <!DOCTYPE html>
            <html>
              <head>
                <meta charset="utf-8">
                <title></title>
                <style>
                   .h{
                     transition: all 3s ease;
                     overflow: hidden;
                   }
                   .h20{
                      height: 20px;
                   }
            
                   .h20:hover{
                      height: 400px;
                   }
                </style>
              </head>
              <body>
                <p class="h h20">撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡撒独立开发时间考虑的发家史丢了饭卡就是;地方;啊技术的;浪费了坷拉三季稻立法精神动力;发就送大礼饭卡机是的立法技术的立法技术;上的风景阿斯兰的饭卡上;两地分居啊实力非凡</p>
              </body>
            </html>
            
大家讲道理

方法很多很多,随便说个jq的.
比如line-height:24px;
要固定显示5行

.p{height:120px;line-height:24px;overflow:hidden}
.p_all{height:auto;}

搞个按钮

<a href='javascript:test()' id='test_btn'>全部</a>
function test(){
$('.p').toggleClass('.p_all');
if($('.p_all').length>0){$('#test_btn').html('收起');}else{$('#test_btn').html('全部');};
}
PHP中文网

建议使用css的transation, 设置p点击前后的height, 与展开动画,动画时间,就可以简单实现,完全不用js,js控制dom元素做动画是非常低效的,动画效果不应该考虑用它实现

怪我咯

你试一下用transition过渡。
html:

<p class="p">
  <label for="checkbox" class="array"></label>
  <input type="checkbox" id="checkbox" >
  <p>
    阿萨德路附近的律师费费了圣诞节快废了附近的搜救分类晒单飞机离开圣诞节傅雷家书老地方水电费老地方将诶就发了啥地方苏打绿分开就发了啥地方阿萨德路附近的律师费费了圣诞节快废了附近的搜救分类晒单飞机离开圣诞节傅雷家书老地方水电费老地方将诶就发了啥地方苏打绿分开就发了啥地方阿萨德路附近的律师费费了圣诞节快废了附近的搜救分类晒单飞机离开圣诞节傅雷家书老地方水电费老地方将诶就发了啥地方苏打绿分开就发了啥地方
  </p>
</p>

css:

.p{
  line-height:25px;
  width:200px;
  position:relative;
  background:#f00;
  padding-bottom:10px;
}
.array{
  position:absolute;
  bottom:10px;
  left:0;
  right:0;
  margin:auto;
  width:10px;
  height:10px;
  border:2px solid #000;
  border-left:0;
  border-top:0;
  transform:rotate(45deg);
}
.p input{
  display:none;
}
.p p{
  height:100px;
  overflow:hidden;
  transition: all 2s;
  -webkit-transition: all 2s;
}
.p input:checked+p{
  height:450px;
}
阿神

我昨天刚写了这种,你设置一个高度,然后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";

这只是一种方式吧,样式和效果什么的可以再调的.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号