CSSのみでアコーディオンメニューを作成したいと考えていますが、思ったような形になりません。
こちらのページ(https://saruwakakun.com/html-css/reference/accordion#section3)における「応用例:矢印を表示&切替」と同様、Font Awesome 5 Freeのアイコンをラベルに表示させ、ラベルをクリックするとアイコンが切り替わってコンテンツが出現するようにしたいです。
現状
HTML
1<div class="accbox"> 2 <input type="checkbox" id="label1" class="cssacc" /> 3 <label for="label1">あああ</label> 4 <div class="accshow"> 5 <p>あああ</p> 6 </div> 7 <input type="checkbox" id="label2" class="cssacc" /> 8 <label for="label2">いいい</label> 9 <div class="accshow"> 10 <p>いいい</p> 11 </div> 12 <input type="checkbox" id="label3" class="cssacc" /> 13 <label for="label3">ううう</label> 14 <div class="accshow"> 15 <p>ううう</p> 16 </div> 17</div>
CSS
1.accbox { 2 margin: 2em 0; 3 padding: 0; 4 max-width: 400px; 5} 6 7.accbox label { 8 display: block; 9 margin: 1.5px 0; 10 padding : 10px 12px; 11 color: #ffffff; 12 font-weight: bold; 13 background: #003e9c; 14 cursor :pointer; 15 transition: all 0.5s; 16} 17 18.accbox label:before { 19 content: "\f054"; 20 font-family: "Font Awesome 5 Free"; 21 font-weight: 900; 22 padding-right: 8px; 23} 24 25.accbox label:hover { 26 background :#001f4d; 27} 28 29.accbox input { 30 display: none; 31} 32 33.accbox .accshow { 34 height: 0; 35 padding: 0; 36 overflow: hidden; 37 opacity: 0; 38 transition: 0.8s; 39} 40 41.cssacc:checked + label + .accshow { 42 height: auto; 43 padding: 5px; 44 background: #fff5eb; 45 opacity: 1; 46}
問題点・解決したいこと
- そもそもアコーディオンが機能しない、コンテンツが開かない(矢印は変化します)
- 最上部のラベルのみ文字が中央寄せになり、なおかつ文字の大きさも他のラベルとは異なってしまう
- ラベル間の高さを調整できない
基本的に参考サイトと同様にコーディングしましたが、アイコンが表示されなかったのでそのあたりだけを変更しています。
ご教授のほど、何卒よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/02 23:45
2019/09/03 00:42