誰が手がけたのがわからないようなすでにあるサイトの更新時に
「アコーディオンで開くコンテンツ追加してほしい」と言われjsは追加したくないけど実現させる、CSSだけでアコーディオンメニューが作れるコードです。
尚、以下コードはスマホの時にだけアコーディオンメニュー。
PC表示の際にはアコーディオンメニューなしのそのまま表示にしております。
1 2 3 4 5 6 7 8 9 10 11 | <div class="list_area"> <input id="acd_c" class="acd_check" type="checkbox"> <label class="acd_label" for="acd_c">クリックすると開きます</label> <div class="acd_content"> <ul> <li>aaaa</li> <li>aaaa</li> <li>aaaa</li> </ul> </div> </div> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | .acd_check{ display: none; } .acd_label{ border:1px solid #333; background-color: #efefef; color: #333; display: block; margin-bottom: 1px; padding: 10px; } .acd_content{ max-height: 0; opacity: 0; transition-property: opacity, max-height; transition-duration: 0.5s; } .acd_check:checked + .acd_label + .acd_content{ max-height: 2000px; opacity: 1; visibility: visible; } @media screen and (min-width: 980px){ .acd_content{ max-height: unset; opacity: 1; visibility:visible; } .acd_check:checked + .acd_label + .acd_content{ max-height:unset; padding: 0; } .acd_label{ display: none; } } |
ふわっと開いて、ふわっと閉じます。