Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

デスクトップ表示でナビゲーションのサブメニューが初期状態で展開されてしまう問題の解決方法(HTML/CSS)

デスクトップ表示でナビゲーションのサブメニューが初期状態で展開されてしまう問題の解決方法(HTML/CSS)

ウェブサイトのナビゲーションメニューで、デスクトップやラップトップの画面(ChromeやFirefoxなど)で初回読み込み時にサブメニューが完全に展開されてしまうUIの問題に直面しています。これにより、意図したナビゲーションレイアウトが崩れます。以下にわかりやすくスクリーンショットを添付しました。
Masla.png

サイトを開くと、「Comparison」と「Blog」のサブメニューがデフォルトで既に展開され、すべての項目が表示されています。ページをリフレッシュしたり、ウィンドウサイズを変更したり、他の場所をクリックした後にのみ正常に戻ります。この問題はモバイルビューでは発生せず、デスクトップサイズの画面でのみ起こります。

環境

  • HTML5 + CSS3
  • JavaScriptを少量使用
  • Bootstrap、React、jQueryなどのフレームワークは使用していません
  • ブラウザ検証: Chrome(PC)、Firefox(PC)、Edge(PC)
出ているエラーメッセージを入力

要望

ページ読み込み時にサブメニューはデフォルトで折りたたまれた状態を維持してほしいです。ユーザーがメニューボタンにホバーまたはクリックした場合のみ展開されるようにしたいです。モバイル表示やユーザー操作後の動作と同様に。

### 試したこと
- .submenuクラスにdisplay: noneを適用
- 非アクティブ状態にvisibility: hiddenを追加
- メニューのロジックをDOMContentLoadedでラップ
- デフォルトスタイルを削除してJSトグルを再適用
- @mediaクエリで異なる挙動を強制
- 

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

サンプルマークアップ(簡略版)

html<br>&lt;ul class="menu"&gt;<br> &lt;li class="dropdown"&gt;<br> &lt;a href="#"&gt;ブログ&lt;/a&gt;<br> &lt;ul class="submenu"&gt;<br> &lt;li&gt;&lt;a href="#"&gt;Instanderの代替&lt;/a&gt;&lt;/li&gt;<br> &lt;li&gt;&lt;a href="#"&gt;Instander APKは安全ですか?&lt;/a&gt;&lt;/li&gt;<br> &lt;/ul&gt;<br> &lt;/li&gt;<br>&lt;/ul&gt;<br>

css<br>.submenu {<br> display: none;<br>}<br>.dropdown:hover .submenu {<br> display: block;<br>}<br>

サブメニューが、DOMが完全に準備される前にCSSが適用されてしまい、デフォルトで開いた状態で読み込まれてしまっている可能性があります。

参考にした記事

https://stackoverflow.com/questions/35110393/how-to-hide-submenu-by-default-css
https://qiita.com/Qiita/items/c686397e4a0f4f11683d

  • Qiita ナビゲーションのトラブルシューティング

お願い

ページ初回読み込み時に、特にデスクトップビューでサブメニューが折りたたまれた状態になるようにする方法を、純粋なHTML/CSS(必要なら最小限のJS)で教えていただけますか?
ここに問題・エラーに対して試したことを記載してください。
参考サイト: https://iinstanderapk.com/

0 likes

2Answer

いろいろ不明ですがとりあえず以下に対する返事をお願いします:

(1) あなたの環境を書いてください。OS、ブラウザのバーションなど。VS Code + Live Server とかを使っているならそれも。

(2) 参考サイトに "Instander APK is a supercharged, free, 100% safe version of Instagram for Android devices." と書いてあるけど、「ブラウザ検証: Chrome(PC)、Firefox(PC)、Edge(PC)」と PC と書いてある。どういうことですか?

(3) 「サンプルマークアップ(簡略版)」は何ですか? 普通の html ソースではないし、意味が分かりません。書くならコピペすれば問題を再現できる必要最低限かつ完全な html + css + javascript ソースを書いてください。

1Like

回答してくれる人たちは超能力者ではなく質問者であるあなたと同じただの人間ですので、必要な情報をしっかり記載してください

「車のエンジンの調子が悪いみたいなんだけど直してくれ、駐車場に停まってる中から探してくれ、キーは渡さない」って言ってるのと同じ状態です

あえてエスパーすると

<link data-optimized="1" rel='stylesheet' id='kadence-header-css' href='https://iinstanderapk.com/wp-content/litespeed/css/a4647d8a011998a8e47630ebcc5662c2.css?ver=662c2' media='all' />

.header-navigation ul.sub-menu,.header-navigation ul.submenu{display:block;list-style:none;margin:0;padding:0}

にある display:block; を消したらいいんじゃないでしょうか

0Like

Your answer might help someone💌