質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2048閲覧

画面サイズがmdになった際にナビメニューをハンバーガー表示にし、それと同時にそのハンバーガーメニューをbrandの下部に設置したい

neekoneko

総合スコア2

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/09/14 02:27

前提・実現したいこと

bootstrap4.5,HTMLでwebデザインの練習をしている初心者で、
teratailでの質問は初めてですのでお手柔らかにお願い致します。

nav,navberについて質問があります。
画面サイズがmdになった際にナビメニューをハンバーガー表示、
同時にハンバーガーメニューとfacebook,instボタンをロゴ(brand)の下部に設置したいのですが、
どのようにコードを書き換えればよいのでしょうか。
よろしくお願いいたします。

現在のHTMLコード

下記のコードですと画面サイズが小さくなった時にハンバーガー,FB,instが横並びになり、
さらに小さくなると順番にアイテムがロゴの下に降りていきます。
サイズの縮小に応じて1つずつ下段にいくのではなく、
mdサイズ以下で同時に3アイテムを下段に移動させたいです。

html

1<nav class="navbar navbar-expand-md navbar-light bg-light p-5 mx-5"> 2 <a class="navbar-brand " href="index.html"><img class"w-16" src="img/logo.png" alt=""></a> 3 4 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation"> 5 <span class="navbar-toggler-icon"></span> 6 </button> 7 8 <div class="collapse navbar-collapse justify-content-end" id="navbarTogglerDemo02"> 9 <ul class="navbar-nav"> 10 <li class="nav-item px-3"> 11 <a><img class"login" src="img/menu_login.png" alt="login"></a> 12 </li> 13 <li class="nav-item px-3"> 14 <a><img class"cart" src="img/menu_cart.png" alt="cart"></a 15 </li> 16 <li class="nav-item px-3"> 17 <a><img class"mypage" src="img/menu_mypage.png" alt="my page"></a 18 </li> 19 <li class="nav-item px-3"> 20 <a><img class"guide" src="img/menu_guide.png" alt="shopping guide"></a 21 </li> 22 </ul> 23 </div> 24 <span class="navbar-facebook px-2 "> 25 <img class"fb" src="img/facebook.png" alt="facebook"> 26 </span> 27 <span class="navbar-insta px-2 "> 28 <img class"insta" src="img/insta.png" alt="instagram"> 29 </span> 30 31</nav>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

細かい部分はわかりませんが、
「画面サイズがmdになった際にナビメニューをハンバーガー表示、
同時にハンバーガーメニューとfacebook,instボタンをロゴ(brand)の下部に設置」ということだけを
考えれば

html

1<nav class="navbar navbar-expand-md navbar-light bg-light p-5 mx-5"> 2 <a class="navbar-brand " href="index.html"><img class"w-16" src="img/logo.png" alt=""></a> 3 4 5 6 <div class="collapse navbar-collapse justify-content-end" id="navbarTogglerDemo02"> 7 <ul class="navbar-nav"> 8 <li class="nav-item px-3"> 9 <a><img class"login" src="img/menu_login.png" alt="login"></a> 10 </li> 11 <li class="nav-item px-3"> 12 <a><img class"cart" src="img/menu_cart.png" alt="cart"></a 13 </li> 14 <li class="nav-item px-3"> 15 <a><img class"mypage" src="img/menu_mypage.png" alt="my page"></a 16 </li> 17 <li class="nav-item px-3"> 18 <a><img class"guide" src="img/menu_guide.png" alt="shopping guide"></a 19 </li> 20 </ul> 21 </div> 22 <div class="sample"> 23 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation"> 24 <span class="navbar-toggler-icon"></span> 25 </button> 26 <span class="navbar-facebook px-2 "> 27 <img class"fb" src="img/facebook.png" alt="facebook"> 28 </span> 29 <span class="navbar-insta px-2 "> 30 <img class"insta" src="img/insta.png" alt="instagram"> 31 </span> 32 </div> 33 34</nav>

css

1@media (max-width: 767.98px) { 2 nav { 3 display: block !important; 4 } 5}

または

css

1.navbar { 2 flex-flow: column; 3}

このような書き方で実現すると思います。
ただ、背景色が設定されている中から出したいとかになると、書き方も変わります。

・簡単な説明
1.トグルボタンを下に移動
2.折り返したい部分をdivで囲う
3.cssを設定する

cssを2種類提示していますが、
どちらも3アイテムは折り返すようになります。
flex-flow: column;はもともと.navbarにalign-items: center;が設定されているので
中央寄せになると思います。
左に寄せる場合は

css

1.navbar { 2 flex-flow: column; 3 align-items:flex-start; 4}

で左寄せにできます。

追記
nav ブレークポイント

投稿2020/09/14 04:22

編集2020/09/14 11:54
beginner_t

総合スコア716

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

neekoneko

2020/09/14 07:42

回答ありがとうございます。 教えていただいた内容(navのcssを設定)を実行したところ、 3つのアイテムが同時に折り返すようになりましたが、 折り返す前の画面サイズで(487~761px)すでにハンバーガーメニューになってしまいます。 この範囲の間ハンバーガーメニューではなく通常の横並びメニューを表示する方法はありますか?
beginner_t

2020/09/14 11:52

navのブレークポイントのカスタマイズは回答欄にURLを載せますので参考にしてください
neekoneko

2020/09/15 07:14

追記ありがとうございました。 bootstrapについて学習しなおします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問