Pure CSS Collapse Accordion

前端 未结 3 492
青春惊慌失措
青春惊慌失措 2021-01-24 20:00

I have a CSS collapse accordion with just pure CSS, it is working perfect.

I have just 1 issue: right now if the user click in any label: Label One, Label Two, Label Thr

3条回答
  •  天涯浪人
    2021-01-24 20:32

    It runs perfectly when u change type radio to type checkbox. https://jsfiddle.net/4xvsn17y/

    /* Acordeon styles */
    
    .tab {
      position: relative;
      margin-bottom: 1px;
      width: 100%;
      color: #fff;
      overflow: hidden;
    }
    
    input {
      position: absolute;
      opacity: 0;
      z-index: -1;
    }
    
    label {
      position: relative;
      display: block;
      padding: 0 0 0 1em;
      background: #16a085;
      font-weight: bold;
      line-height: 3;
      cursor: pointer;
    }
    
    .blue label {
      background: #2980b9;
    }
    
    .tab-content {
      max-height: 0;
      overflow: hidden;
      background: #1abc9c;
      -webkit-transition: max-height .35s;
      -o-transition: max-height .35s;
      transition: max-height .35s;
    }
    
    .blue .tab-content {
      background: #3498db;
    }
    
    .tab-content p {
      margin: 1em;
    }
    
    
    /* :checked */
    
    input:checked ~ .tab-content {
      max-height: 10em;
    }
    
    
    /* Icon */
    
    label::after {
      position: absolute;
      right: 0;
      top: 0;
      display: block;
      width: 3em;
      height: 3em;
      line-height: 3;
      text-align: center;
      -webkit-transition: all .35s;
      -o-transition: all .35s;
      transition: all .35s;
    }
    
    input[type=checkbox] + label::after {
      content: "+";
    }
    
    input[type=radio] + label::after {
      content: "\25BC";
    }
    
    input[type=checkbox]:checked + label::after {
      transform: rotate(315deg);
    }
    
    input[type=radio]:checked + label::after {
      transform: rotateX(180deg);
    }
    
    
    

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tenetur, architecto, explicabo perferendis nostrum, maxime impedit atque odit sunt pariatur illo obcaecati soluta molestias iure facere dolorum adipisci eum? Saepe, itaque.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tenetur, architecto, explicabo perferendis nostrum, maxime impedit atque odit sunt pariatur illo obcaecati soluta molestias iure facere dolorum adipisci eum? Saepe, itaque.

    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tenetur, architecto, explicabo perferendis nostrum, maxime impedit atque odit sunt pariatur illo obcaecati soluta molestias iure facere dolorum adipisci eum? Saepe, itaque.

提交回复
热议问题