有没有标签支持把一段文字折叠展开的效果?

类似百度的这个效果 但是百度的这个好像用的div或者span来产生折叠的这种效果 有没有简单点的办法 我以前好像见过把一段文字可以折叠的这种标签 现在记不起来了
图片描述

图片描述

阅读 7.6k
1 个回答

可以用checkbox和CSS相邻选择器的特性来做

<style>
    .item{
        position: relative;
        border:1px solid #CCC;
        padding:5px;
    }
    .title{
        height: 30px;
    }
    .item input[type=checkbox]{
        opacity: 0;
        position: absolute;
        top:0;
        left:0;
        width:100%;
        height: 30px;
        z-index:2;
    }
    .item .ico{
       position: absolute;
       right:5px;
       top:5px;
       -webkit-transform: rotate(-90deg);
       transform: rotate(-90deg)
    }
    .item .ico:after{
       content:'>';
    }
    .item input[type=checkbox]:checked+.ico{
       -webkit-transform: rotate(90deg);
       transform: rotate(90deg)
    }
    input[type=checkbox]:checked~.content{
       display: none;
    }
</style>

<body>
    <div class="item">
        <div class="title">垃圾信息举报</div>
        <input type="checkbox">
        <span class="ico"></span>
        <div class="content">
          感谢您的反馈
        </div>
    </div>
</body>

Demo
http://runjs.cn/detail/uvygbtks

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题