纯css手写手风琴

---恢复内容开始---

 

  在网页中我们经常会遇到手风琴效果,之前经常会用jQuery和JavaScript来写,但今天给大家介绍一种用纯css写的手风琴。

  下面是html部分:

 1 <div class="togglebox">
 2   <input id="toggle1" type="radio" name="toggle" checked="checked" />   <!--checked="checked"添加默认展开样式-->
 3   <label for="toggle1">Pure CSS Accordion</label>      
 4   <section id="content1">
 5     <p>
 6       Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulde        r bresaola.Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
 7     </p>
 8     <p>
 9       Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare rib       s pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
10     </p>
11   </section>
12   <input id="toggle2" type="radio" name="toggle" />
13   <label for="toggle2">Pure CSS Accordion</label>
14   <section id="content2">
15     <p>
16       Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulde        r bresaola.Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
17     </p>
18     <p>
19       Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare rib       s pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
20     </p>
21   </section>
22   <input id="toggle3" type="radio" name="toggle" />
23   <label for="toggle3">Pure CSS Accordion</label>
24   <section id="content3">
25     <p>
26       Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulde        r bresaola.Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
27     </p>
28     <p>
29       Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare rib       s pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
30     </p>
31   </section>
32   <input id="toggle4" type="radio" name="toggle" />
33   <label for="toggle4">Pure CSS Accordion</label>
34   <section id="content4">
35     <p>
36       Bacon ipsum dolor sit amet beef venison beef ribs kielbasa. Sausage pig leberkas, t-bone sirloin shoulde      r bresaola.Frankfurter rump porchetta ham. Pork belly prosciutto brisket meatloaf short ribs.
37     </p>
38     <p>
39       Brisket meatball turkey short loin boudin leberkas meatloaf chuck andouille pork loin pastrami spare rib       s pancetta rump. Frankfurter corned beef beef tenderloin short loin meatloaf swine ground round venison.
40     </p>
41   </section>
42 </div>

 

 下面是css样式:

<style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }    
        *,*:before,
        *:after {
            box-sizing: border-box;
        }        
        html,body {
            height: 100%;
            font: 16px/1 'Open Sans', sans-serif;
            color: #555;
            background: #e5e5e5;
        }        
        body {
            padding: 50px;
        }        
        .togglebox {
            width: 400px;
            margin: 0 auto;
            background: #fff;
            transform: translateZ(0);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
        }        
        input[type="radio"] {
            position: absolute;
            opacity: 0;
        }        
        label {
            position: relative;
            display: block;
            height: 50px;
            line-height: 50px;
            padding: 0 20px;
            font-size: 14px;
            font-weight: 700;
            border-top: 1px solid #ddd;
            background: #fff;
            cursor: pointer;
            background: palegreen;
        }        
        label[for*='1'] {
            border: 0;
        }        
        label:after {
            content: '<';  /*在label之后 加一个下拉图标*/
            position: absolute;
            top: 0px;
            right: 20px;
            transition: .3s transform;
        }        
        section {
            height: 0;    /*未被选中之前section高度为0*/
            transition: .3s all;
            overflow: hidden;
        }        
        #toggle1:checked~label[for*='1']:after,
        #toggle2:checked~label[for*='2']:after,
        #toggle3:checked~label[for*='3']:after,
        #toggle4:checked~label[for*='4']:after {   /*单选框点击选中以后  图标旋转-90度*/
            transform: rotate(-90deg);
        }        
        #toggle1:checked~#content1,
        #toggle2:checked~#content2,
        #toggle3:checked~#content3,
        #toggle4:checked~#content4 { 
            height: 200px;            /*单选框未被选中内容高度为0,单选框选中之后内容高度为200*/     
        }        
        p {
            margin: 15px 0;
            padding: 0 20px;
            font-size: 12px;
            line-height: 1.5;
        }
    </style>

下面是效果:



这是一种很有用的手风琴,而且可以不用任何的JavaScript和jQuery!!!

---恢复内容结束---

转载于:https://www.cnblogs.com/zylybhh/p/7347760.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值