色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

CSS動畫,點擊時切換旋轉

錢斌斌1年前7瀏覽0評論

我試圖讓下面的插入符號旋轉180度,點擊我的下拉菜單。在我嘗試實現的解決方案中,它將插入符號的類改為單擊時向上切換或向下切換。我第一次點擊時,它向上旋轉,第二次點擊時,它立即回到起始位置,然后又向上旋轉。我聞到骯臟的代碼,什么是最簡單的方法來添加這個切換旋轉動畫。預先感謝任何幫助。以下是我目前的css:

.toggle-up {
  animation-name: toggle-up;
  animation-delay: 0.25s;
  animation-duration: 0.75s;
  animation-fill-mode: forwards;
}
.toggle-down {
  animation-name: toggle-down;
  animation-delay: 0.25s;
  animation-duration: 0.75s;
  animation-fill-mode: forwards;
}

/*animations*/
@keyframes toggle-up {
  100% {
    transform: rotate(180deg);
  }
}
@keyframes toggle-down {
  100% {
    transform: rotate(180deg);
  }
}

enter image description here

對于這么簡單的東西,你真的不需要關鍵幀動畫。如果你只是在你的圖標上添加一個類,然后點擊移除它,這將應用你的旋轉。這是一個使用字體awesome和簡單旋轉的工作plunkr。這只是一個簡單的例子,你會想利用供應商前綴,并意識到css轉換不能在舊的瀏覽器中工作。

<div id="container">
    <i id="icon" class="fa fa-arrow-down"></i>
</div>

.fa-arrow-down{
  transform: rotate(0deg);
  transition: transform 1s linear;
}

.fa-arrow-down.open{
  transform: rotate(180deg);
  transition: transform 1s linear;
}

(function(document){
  var div = document.getElementById('container');
  var icon = document.getElementById('icon');
  var open = false;

  div.addEventListener('click', function(){
    if(open){
      icon.className = 'fa fa-arrow-down';  
    } else{
      icon.className = 'fa fa-arrow-down open';
    }

    open = !open;
  });
})(document);

為了完成動畫,您應該有一個初始狀態。

下面是一個例子:codepen

更新

下面是不使用javascript的版本:codepen

<label for="checkbox">
  <input type="checkbox" id="checkbox">
  <div class="square toggle-down"></div>
</label>


#checkbox {
  display: none;
}

.square {
  width: 100px;
  height: 100px;
  background-color: #ff0000;
  transition: all 0.75s 0.25s;
  transform: rotate(0);
}

#checkbox:checked + .square {
  transform: rotate(180deg);
}

總體思路是使用相鄰的同級選擇器和復選框選中狀態來更改塊類。

用bootstrap實現的簡單方法

.caret {
    transition: 0.5s;
}
  .caret:not(.collapsed){
    transform: rotate(180deg);
  }
  .caret:is(.collapsed) {
    transform: rotate(0deg);
  }

<link  rel="stylesheet"/>
<link  rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js"></script>


<div class="d-flex">
  <span class="bi bi-chevron-down caret collapsed" role="button" data-bs-toggle="collapse" data-bs-target="#detail"></span>
  <div id="detail" class="collapse">
    Hi!
  </div>
</div>