cssでハンバーガーメニューを作りました。
上に重なって表示されます。
これを重ならないように、メニューをひらいて要素ごとスライドさせるには、cssだけではできないのでしょうか?
</div><!--sidebarMenu--> ```<div class="header"> </div> </div> <input type="checkbox" class="openSidebarMenu" id="openSidebarMenu"> <label for="openSidebarMenu" class="sidebarIconToggle"> <span class="spinner diagonal part-1"></span> <span class="spinner horizontal"></span> <span class="spinner diagonal part-2"></span> </label> <div id="sidebarMenu"> <ul class="sidebarMenuInner"> <li>中身</li> <li>中身</li> </ul>```ここに言語を入力 コード
cssです。
#sidebarMenu { height: 100%; position: fixed; z-index: 9999; width:40%; margin-top: 61px; background-color:#FFF; transform: translateX(-100%); transition: transform 250ms ease-in-out; } input[type=checkbox] { transition: all 0.3s; box-sizing: border-box; display: none; } .sidebarIconToggle { transition: all 0.3s; box-sizing: border-box; cursor: pointer; position: absolute; z-index: 99; height: 100%; width: 100%; top: 22px; left: 15px; height: 22px; width: 22px; position:fixed; } .spinner { transition: all 0.3s; box-sizing: border-box; position: absolute; height: 3px; width: 100%; background-color:#f940a8; } .horizontal { transition: all 0.3s; box-sizing: border-box; position: relative; float: left; margin-top: 3px; } .diagonal.part-1 { position: relative; transition: all 0.3s; box-sizing: border-box; float: left; } .diagonal.part-2 { transition: all 0.3s; box-sizing: border-box; position: relative; float: left; margin-top: 3px; } input[type=checkbox]:checked ~ .sidebarIconToggle > .horizontal { transition: all 0.3s; box-sizing: border-box; opacity: 0; } input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-1 { transition: all 0.3s; box-sizing: border-box; transform: rotate(135deg); margin-top: 8px; } input[type=checkbox]:checked ~ .sidebarIconToggle > .diagonal.part-2 { transition: all 0.3s; box-sizing: border-box; transform: rotate(-135deg); margin-top: -9px; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/23 02:24