実現したいこと
クリック1回目に要素を180度右回りに回転させて、クリック2回目は180度右回りで元の状態に戻り、これを繰り返しできるようなアニメーションを実現したいです。
発生している問題・分からないこと
1回目のクリック時に180度回転はできましたが、そこからさらにクリック2回目に180度回転させる方法が分からない状態です。
該当のソースコード
html、css
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>クリック回転アニメーション</title> 7 <link rel="stylesheet" href="styles.css"> 8 <style type="text/css"> 9 /* 回転アニメーションの定義 */ 10@keyframes rotateAnimation { 11 from { 12 transform: rotate(0deg); 13 } 14 to { 15 transform: rotate(180deg); 16 } 17} 18 19/* 回転する要素のスタイル */ 20.rotate-box { 21 display: block; 22 width: 100px; 23 height: 100px; 24 border: 1px solid #000; 25 margin: 50px auto; 26 cursor: pointer; 27} 28 29/* チェックボックスがチェックされたときに回転アニメーションを適用 */ 30#rotateToggle:checked + .rotate-box { 31 animation: rotateAnimation 1s ease-in-out forwards; 32} 33 </style> 34</head> 35<body> 36 <div> 37 <!-- 隠されたチェックボックス --> 38 <input type="checkbox" id="rotateToggle" hidden> 39 40 <!-- ラベルをクリックするとチェックボックスがトリガーされる --> 41 <label for="rotateToggle" class="rotate-box">testtest</label> 42 </div> 43</body> 44</html>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
2回目をクリックするとアニメーションなしで元の状態に戻るので、1回目の回転した角度を記憶させる?ようなコードを作るんでしょうか?
補足
特になし

回答3件
あなたの回答
tips
プレビュー