前提・実現したいこと
クリックすると開閉する仕様のアコーディオンメニューをflexで横2列に配置しています。
アコーディオンを開くと、アコーディオンを設定していない要素まで一緒に高さが変わってしまうので、それを解消したいです。
下記コードの「タイトル01」の高さはそのままで、下にくる「タイトル03」をすぐ下に表示させたいです。
該当のソースコード
html
1<ul id="g-nav"> 2 <li>タイトル01</li> 3 <li> 4 <div class="btn">タイトル02</div> 5 <ul> 6 <li>サブタイトル</li> 7 <li>サブタイトル</li> 8 <li>サブタイトル</li> 9 </ul> 10 </li> 11 <li>タイトル03</li> 12 <li>タイトル04</li> 13</ul>
css
1#g-nav { 2 max-width: 900px; 3 margin: auto; 4 display: flex; 5 flex-wrap: wrap; 6 justify-content: space-between; 7}, 8#g-nav div { 9 display: block; 10 padding: 20px 25px; 11 font-size: 18px; 12 font-weight: bold; 13} 14#g-nav li, 15#g-nav div { 16 width: 48.5%; 17 display: block; 18 background: #ccc; 19} 20#g-nav li { 21 margin-bottom: 15px; 22} 23#g-nav li ul { 24 display: none; 25}
jQuery
1$(function () { 2 $(".btn").on("click", function () { 3 $(this).next().slideToggle(); 4 $('#g-nav li div').toggleClass('open'); 5 }); 6})
ご教示いただけますと幸いです。何卒宜しくお願い致します。