【CSS】文本超过行数显示“展开”、“收起”

使用css样式控制文本超过行数显示“展开”、“收起”

css代码如下:

 .container {
          width: 800px;
          position: relative;
          padding-bottom: 20px;
        }
        .content {
            overflow: hidden;
            line-height: 1;
            /* 最多展示几行就(n*line-height)em, */
            height: 3em; 
            background: yellow;
        }
        .more{
            position: absolute;
            bottom: 0;
            right: 0;
            background: blue;
            color: white;
        }
        .more::after{
            content: '展开';
        }
        .check{
            display: none;
        }
        .check:checked ~ .content{
           height: auto;
        }
        .check:checked ~ .more::after{
            content: '收起';
        }

html代码如下:

 <div class="container">
    <input class="check" type="checkbox" id="check">
    <label class="more" for="check">label>
    <div class="content">中国专业IT社区CSDN (Chinese Software Developer Network) 创立于1999年,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。
旗下拥有:专业的中文IT技术社区: CSDN.NET;移动端开发者专属APP: CSDN APP、CSDN学院APP;新媒体矩阵微信公众号:CSDN资讯、程序人生、GitChat、CSDN学院、AI科技大本营、区块链大本营、CSDN云计算、GitChat精品课、人工智能头条、CSDN企业招聘;IT技术培训学习平台: CSDN学院;技术知识移动社区: GitChat;IT人力资源服务:科锐福克斯;高校IT技术学习成长平台:高校俱乐部。 [1]div>
    div>

checkbox: 根据是否选中的状态判断对应的展示状态,并控制内容高度
label: 控制checkbox,使用伪元素更好展示对应文字

ps: 如果使用vue循环,content内部写成多个item的div也可以正常使用
如html代码如下:

<div class="content">
   <div>
   	中国专业IT社区CSDN (Chinese Software Developer Network) 创立于1999年,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。
  div>
  <div>
  	旗下拥有:专业的中文IT技术社区:CSDN.NET;移动端开发者专属APP: CSDN APP、CSDN学院APP;
  div>
  <div>
  	新媒体矩阵微信公众号:CSDN资讯、程序人生、GitChat、CSDN学院、AI科技大本营、区块链大本营、CSDN云计算、GitChat精品课、人工智能头条、CSDN企业招聘
  div>
  <div>
  	IT技术培训学习平台: CSDN学院; 
  div>
  <div> 
  	技术知识移动社区: GitChat;
  div>
  <div>
  	IT人力资源服务:科锐福克斯;
  div>
  <div>
  	高校IT技术学习成长平台:高校俱乐部。 [1]
  div>
div>

你可能感兴趣的:(css,前端)