FAQで使えるCSSで作るアコーディオンメニュー

hatorihatori
main_img

2分でできる!

jQueryを使わないアコーディオンメニューの作り方

【HTML】

<input id="acdCheck1" class="acdCheck" type="checkbox">
<label class="acdLabel" for="acdCheck1">クリックで開く1</label>
<div class="acdContent">
	<p>hello.world!</p>
</div>

【CSS】

.acdCheck{
	display: none;
}
.acdLabel{
    background: #000;
    color: #fff;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
	position: relative;
}
.acdContent{
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
.acdCheck:checked + .acdLabel + .acdContent{
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}

/*------- 矢印> --------*/
.acdLabel::after{
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: solid 1px #FFF;
    border-right: solid 1px #FFF;
    transform: rotate(135deg);
    position: absolute;
    top: 45%;
    right: 1.8rem;
}

アコーディオンを開いた時に三角矢印の向きを変えたい場合は下記を追記してください。

【CSS】

.acdCheck:checked + .acdLabel::after{ 
	top: 55%;
	transform: rotate(-45deg);
}