こんにちは!
CSSのみでのアコーディオンメニューを実装しようと考えておりますが
以下のサンプルにさらに動きを加えたいと思っております。
参考サイト
https://codepen.io/takanorip/pen/mExJOZ
HTML
1<div class="menu"> 2 <label for="menu_bar01">MENU01</label> 3 <input type="radio" name="radio" id="menu_bar01" class="accordion" /> 4 <ul id="links01"> 5 <li><a href="">Link01</a></li> 6 <li><a href="">Link02</a></li> 7 <li><a href="">Link03</a></li> 8 <li><a href="">Link04</a></li> 9 </ul> 10 <label for="menu_bar02">MENU02</label> 11 <input type="radio" name="radio" id="menu_bar02" class="accordion" /> 12 <ul id="links02"> 13 <li><a href="">Link01</a></li> 14 <li><a href="">Link02</a></li> 15 <li><a href="">Link03</a></li> 16 <li><a href="">Link04</a></li> 17 </ul> 18</div>
css
1.menu { 2 max-width: 400px; 3 margin: 0 auto; 4 padding: 0; 5} 6 7.menu a { 8 display: block; 9 padding: 10px; 10 text-decoration: none; 11 color: #000; 12 line-height: 1; 13} 14 15label { 16 display: block; 17 margin: 0 0 2px 0; 18 padding :12px; 19 line-height: 1; 20 color :#fff; 21 background :#007bbb; 22 cursor :pointer; 23} 24 25input { 26 display: none; 27} 28 29.menu ul { 30 margin: 0; 31 padding: 0; 32 background :#f4f4f4; 33 list-style: none; 34} 35 36.menu li { 37 max-height: 0; 38 overflow-y: hidden; 39 -webkit-transition: all 0.5s; 40 -moz-transition: all 0.5s; 41 -ms-transition: all 0.5s; 42 -o-transition: all 0.5s; 43 transition: all 0.5s; 44} 45 46#menu_bar01:checked ~ #links01 li, 47#menu_bar02:checked ~ #links02 li { 48 max-height: 46px; 49 opacity: 1; 50}
~現在の動き~
MENU01を押すとMENU01内容が表示する
MENU01が開いているときにMENU02を押すとMENU01が閉まりMENU02の内容が表示される
上記の動きに加え以下の動作も加えたい
MENU01を押すとMENU01内容が表示される
MENU01をもう一度押すとMENU01が閉まる
※CSSのみで実装を考えております。
ご教示お願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/07 07:00
2017/11/07 07:08
2017/11/07 07:10