文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CSS 如何实现多行文本展开收起效果

2024-12-03 01:21

关注

本文转载自微信公众号「三分钟学前端」,作者sisterAn 。转载本文请联系三分钟学前端公众号。

最终实现效果:

本文主要实现难点:

初始 html:

  1. "text"
  2.   "btn">展开 
  3.    
  4.     但听得蹄声如雷,十余乘马疾风般卷上山来。马上乘客一色都是玄色薄毡大氅, 
  5.     里面玄色布衣,但见人似虎,马如龙,人既矫捷,马亦雄骏,每一匹马都是高头 
  6.     长腿,通体黑毛,奔到近处,群雄眼前一亮,金光闪闪,却见每匹马的蹄铁竟然 
  7.     是黄金打就。来者一共是一十九骑,人数虽不甚多,气势之壮,却似有如千军万 
  8.     马一般,前面一十八骑奔到近处,拉马向两旁一分,最后一骑从中驰出 
 
  •  
  •  

     

    控制按钮文字环绕效果

    一般展开、收起按钮都在文字的右下脚:

    但 margin 虽然可以将按钮局下,但它无法实现文字环绕效果,所以我们这里利用伪元素实现:

    局右

    1. .text::before{ 
    2.     content: ''
    3.     floatright

    局下

    1. .text::before{ 
    2.     content: ''
    3.     floatright
    4.     width: 0; 
    5.     height: calc(100% - 20px); 

    我们发现出现了高度塌陷( calc(100% - 20px) 无效)的问题:

    由于包含块的高度没有显式指定,并且该元素不是绝对定位,则计算值伪 auto,auto * 100/100 = NaN

    — CSS 世界

    此时解决办法有:

    这里包一层 flex 布局。因为在 flex 布局的子项中,可以通过百分比来计算变化高度,因此,这里需要给 .text 包裹一层,然后设置 display: flex

    1. "content"
    2.  "text"
    3.    "btn" for="exp">展开 
    4.     
    5.      但听得蹄声如雷,十余乘马疾风般卷上山来。马上乘客一色都是玄色薄毡大氅, 
    6.      里面玄色布衣,但见人似虎,马如龙,人既矫捷,马亦雄骏,每一匹马都是高头 
    7.      长腿,通体黑毛,奔到近处,群雄眼前一亮,金光闪闪,却见每匹马的蹄铁竟然 
    8.      是黄金打就。来者一共是一十九骑,人数虽不甚多,气势之壮,却似有如千军万 
    9.      马一般,前面一十八骑奔到近处,拉马向两旁一分,最后一骑从中驰出 
    10.  
     
  •  
    1.  

     

     

     

     

     

    多行文本溢出省略效果

    我们在 CSS 实现文本的单行和多行溢出省略效果 介绍过:

    多行文本(css)

    1. .text { 
    2.   display: -webkit-box; 
    3.   overflow: hidden; 
    4.   -webkit-line-clamp: 3; 
    5.   -webkit-box-orient: vertical; 

    如何实现 展开 和 收起 的状态切换

    使用 input type="checkbox" 控制展开与收起效果

    1. "checkbox" id="exp" /> 
    2.  
    3.  

    但文字展开后控制按钮依然显示 展开 ,应该显示 收起 才对

    这里使用伪类生成技术,具体做法就是去除或者隐藏按钮里面的文字,采用伪元素生成

    1. "btn" for="exp"
    2.  

    最终,大功告成:

     

    来源:三分钟学前端内容投诉

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    软考中级精品资料免费领

    • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

      难度     813人已做
      查看
    • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

      难度     354人已做
      查看
    • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

      难度     318人已做
      查看
    • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

      难度     435人已做
      查看
    • 2024年上半年系统架构设计师考试综合知识真题

      难度     224人已做
      查看

    相关文章

    发现更多好内容

    猜你喜欢

    AI推送时光机
    位置:首页-资讯-后端开发
    咦!没有更多了?去看看其它编程学习网 内容吧
    首页课程
    资料下载
    问答资讯