![アコーディオンメニュー【CSS】CSSだけで作る](https://fujiisyouten.com/oji/wp-content/uploads/2023/01/1f28bbfe4e0f22eeba1a6cc049387820.png)
アコーディオンメニュー
![](https://fujiisyouten.com/oji/wp-content/uploads/2021/11/study_benkyou_old_man.png)
アコーディオンメニューを勉強しています。
アコーディオンメニューとは、
楽器のアコーディオンのように
伸縮する蛇腹が、
メニューの内容を表示する処理を意味します。
アコーディオンメニューを利用することで、
たくさんの情報の中から欲しい情報だけを
見せることができる結果、
ページ表示をスッキリすることができます。
HTMLコード
<div class="menu"> <label for="menu_bar01">アコーディオン1</label> <input type="checkbox" id="menu_bar01" /> <ul id="links01"> <li><a href="">Link01</a></li> <li><a href="">Link02</a></li> <li><a href="">Link03</a></li> <li><a href="">Link04</a></li> </ul> <label for="menu_bar02">アコーディオン2</label> <input type="checkbox" id="menu_bar02" /> <ul id="links02"> <li><a href="">Link01</a></li> <li><a href="">Link02</a></li> <li><a href="">Link03</a></li> <li><a href="">Link04</a></li> </ul> </div>
CSSコード
.menu { max-width: 600px; } .menu a { display: block; padding: 15px; text-decoration: none; color: #000; } label { display: block; margin: 0 0 4px 0; padding : 15px; line-height: 1; color :#fff; background : green; cursor :pointer; } input { display: none; } .menu ul { margin: 0; padding: 0; background :#f4f4f4; list-style: none; } .menu li { height: 0; overflow: hidden; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } #menu_bar01:checked ~ #links01 li, #menu_bar02:checked ~ #links02 li { height: 54px; opacity: 1; }
動作結果
他のパターン
これはわかりにくかったです。
もう少し勉強しないと
理解できません。
ベースのHTML・CSS
input id="acd-check1" class="acd-check" type="checkbox">
label class="acd-label" for="acd-check1">クリックで開く1hello.world!
hello.world2!
以下同じ
hello.world!
hello.world2!
ベースHTML
.acd-check{
}
.acd-label{
background: #333;
color: #fff;
display: block;
margin-bottom: 1px;
padding: 10px;
}
.acd-content{
border: 1px solid #333;
height: 0;
opacity: 0;
padding: 0 10px;
transition: .5s;
visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
height: 40px;
opacity: 1;
padding: 10px;
visibility: visible;
}
CSS
.acd-check{
}
.acd-label{
background: #333;
color: #fff;
display: block;
margin-bottom: 1px;
padding: 10px;
}
.acd-content{
border: 1px solid #333;
height: 0;
opacity: 0;
padding: 0 10px;
transition: .5s;
visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
height: 40px;
opacity: 1;
padding: 10px;
visibility: visible;
}
チェックボックス非表示
HTML
hello.world!
hello.world2!
hello.world3!
hello.world4!
CSS
.acd-check{
display: none;
}
.acd-label{
background: #333;
color: #fff;
display: block;
margin-bottom: 1px;
padding: 10px;
}
.acd-content{
border: 1px solid #333;
height: 0;
opacity: 0;
padding: 0 10px;
transition: .5s;
visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
height: 40px;
opacity: 1;
padding: 10px;
visibility: visible;
}