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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

CSS

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

Q&A

1回答

1203閲覧

nav タイトル レスポンシブ対応

CodOsk

総合スコア6

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

CSS

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

1グッド

0クリップ

投稿2020/03/14 07:40

編集2020/03/14 09:06

現在、練習材料として下記のホームページを模写しておりますが、スマートフォン用にレスポンシブ対応をさせてたく、横並びになっているナビバーが2列ずつで折り返されるようにならず、PC表示のまま見切れて表示されてしまいます。
試してみたこと
@media(max-width: 812px)以下にて表示させた場合に、横一列に並んでいるnavバーをレスポンシブ対応させるべく、navに対してwithを調整したり、flex-wrapで折り返しなどを試みましたが、特に変化が見られずに悩んでおります。

模写対象のURL:https://haniwaman.com/sample/part3/template_08/index.html

現状
イメージ説明

実現したい画面
イメージ説明

HTML

1 <!-- header --> 2<div id="wrapper"> 3 <header> 4 <div class="headerbox"> 5 <div class="headernav"> 6 <h1> 7 <a href="index.html"><img src="img/siteTitle.png" alt="headerlogo"></a> 8 </h1> 9 <div class="title">"texttexttexttexttexttexttexttexttexttexttex</div> 10 <div class="headerinfo"> 11 <p class="phone">00-0000-0000</p> 12 <p class="time">text 10:00~19:30 <span class="redtag">te xt</span</p> 13 </div> 14 </div> 15 16 <!-- ヘッダーナビ --> 17 <div class="nav"> 18 <ul> 19 <li class="first"> 20 <a href="index.html"> 21 <span class="titleja">text</span> 22 <span class="titleen">text</span> 23 </a> 24 </li> 25 <li> 26 <a href="clinic.html"> 27 <span class="titleja">text</span> 28 <span class="titleen">text</span> 29 </a> 30 </li> 31 <li> 32 <a href="service.html"> 33 <span class="titleja">text</span> 34 <span class="titleen">text</span> 35 </a> 36 </li> 37 <li> 38 <a href="staff.html"> 39 <span class="titleja">text</span> 40 <span class="titleen">text</span> 41 </a> 42 </li> 43 <li class="last"> 44 <a href="access.html"> 45 <span class="titleja">text</span> 46 <span class="titleen">text</span> 47 </a> 48 </li> 49 </ul> 50 </div> 51 <!-- ヘッダーナビ --> 52 </div> 53 </header> 54 <!-- header --> 55 56</div> 57</body> 58</html>

CSS

1 2/* nav */ 3 4.nav { 5 width: 920px; 6 height: 74px; 7 position: absolute; 8 bottom: 0; 9 left: 0; 10 letter-spacing: -1em; /* 文字間を詰める */ 11 white-space: nowrap; /* 自動で折り返ししない */ 12 text-align: center; 13 border: solid 1px #9aaace; 14 border-radius: 10px; 15 background: linear-gradient(#9CE3E2, #6CC6C4); 16} 17 18.nav li:hover { 19 background: linear-gradient( #6CC6C4, #9CE3E2); 20} 21 22.nav li.first:hover { 23 background: linear-gradient( #6CC6C4, #9CE3E2); 24 border-radius: 10px 0 0 10px; 25} 26.nav li.last:hover { 27 background: linear-gradient( #6CC6C4, #9CE3E2); 28 border-radius: 0 10px 10px 0; 29} 30 31.nav ul { 32 display: flex; 33 justify-content: space-between; 34 padding: 0; 35 margin: 0; 36} 37 38.nav ul a { 39 width: 182px; 40 height: 39px; 41 text-decoration: none; 42 display: block; 43 padding: 17px 0px 18px; 44 text-shadow: 1px 1px 2px #6CC6C4; 45 border-radius: 10px; 46} 47 48.nav ul li { 49 display: inline-block; 50 letter-spacing: normal; /* 文字間を元に戻す */ 51 white-space: normal; /* 自動で折り返し(元に戻す) */ 52 box-sizing: border-box; 53 text-align: center; 54 flex-grow: 1; 55 border-left: 1px solid #d6d6d6; 56} 57 58.nav ul li.first { 59 border-left: none; 60} 61 62.titleja { 63 font-size: 16px; 64 font-weight: bold; 65 display: block; 66 color: #fff; 67} 68 69.titleen { 70 font-size: 10px; 71 font-weight: bold; 72 display: block; 73 color: #fff; 74} 75 76/* nav */ 77 78@media(max-width: 812px) { 79 ul { 80 float: none; 81 } 82 83 /* newinfo */ 84 #wrapper { 85 width: 100%; 86 border-top: 8px solid #6CC6C4; 87 height: auto; 88 float: none; 89 } 90 91 .headerbox { 92 width: 920px; 93 height: 200px; 94 margin: 0 auto; 95 position: relative; 96 } 97 98 .title { 99 position: static; 100 font-size: 1rem; 101 color: #515151; 102 font-weight: 400; 103 margin: 5px 0 0 0; 104 text-align: center; 105 } 106 107 .headerinfo { 108 width: 224px; 109 height: 66px; 110 position: static; 111 margin: -20px auto; 112 } 113 114 .phone { 115 position: relative; 116 top: 5px; 117 font-size: 26px; 118 color: #414141; 119 background-image: url(img/bgTel.png); 120 background-repeat: no-repeat; 121 background-position: left center; 122 padding-left: 30px; 123 } 124 125 .time { 126 position: relative; 127 width: 222px; 128 height: 18px; 129 border: 1px solid #d6d6d6; 130 text-align: center; 131 font-size: 1rem; 132 color: #515151; 133 line-height: 18px; 134 padding: 5px 0; 135 } 136 137 .headernav h1 { 138 position: static; 139 margin: 0 auto; 140 } 141/* newinfo */ 142 143/* nav */ 144.nav { 145 position: static; 146 width: 100%; 147 background: none; 148 border-radius: 0; 149 border: none; 150 margin: 12px 0; 151 height: auto; 152 flex-wrap: wrap; 153} 154 155/* nav */ 156 157}
s.k👍を押しています

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

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

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

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

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

marlboro_tata

2020/03/14 08:05

アップされたHTMLだけだと、部分的すぎて詳細の検討ができません。 さすがに、コンテンツ部分は不要なので削除しても良いかと思いますが、<html>〜</html>まで、すべて掲載すると、回答が得られやすいと思います。 あと、CSSについても、「うまくいかなかった」部分も含めて掲載すると良いと思います。
Lhankor_Mhy

2020/03/14 08:40 編集

メニューの枠線がフレックスボックスの外で書かれていますから、ご希望の表示をするには根本的に見直さないといけないと思います。 いっそ、スマートフォン用の要素を別に作った方が楽かもしれません。
CodOsk

2020/03/14 09:10

ご指摘いただきまして、誠にありがとう御座います。 文字制限の関係もあり、掲載できる部分にて修正を致しました。 一点、コメントの中で理解が出来なかった部分があります。 「メニューの枠線がフレックスボックスの外で書かれていますから、」とのことですが、これはどういった意味になりますでしょうか。ご教示願います。
Lhankor_Mhy

2020/03/14 09:13

すでにご回答がついているので、そちらをご参照いただいた方がいいと思いますが、取り急ぎご返信します。 .navにボーダーがついているので、その子要素であるulをフレックスコンテナにしても上手くいかないだろう、ということです。 本来であれば、フレックスアイテムにボーダーをつけるのがよい、というのはご理解いただけますよね?
CodOsk

2020/03/14 09:23

迅速にご回答いただきまして、有り難う御座います。 返信してただきました内容につきましては理解できました。 CSSを一度見直し、改めて、スマートフォン用の画面にて別途作成をします。
guest

回答1

0

取りあえず下記の点を修正すれば折り返すようにはなります。

css

1.nav { 2 max-width: 920px; /*修正*/ 3/* height: 74px; 削除*/ 4 56 7} 8 9.nav ul { 10 display: flex; 11 flex-wrap: wrap; /*追加*/ 12 justify-content: space-between; 13 14

ナビの幅は最大サイズのみ指定して、高さは指定せずに中身の高さに合わせるようにする。
flex-wrap: wrap; で折り返すように設定。

ただし、画像のようにするには、メディアクエリでCSSをスマートフォンサイズ用とPCサイズ用で切り分けるようにしないと無理です。

投稿2020/03/14 08:22

hatena19

総合スコア33790

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

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

CodOsk

2020/03/14 09:24

ご回答していただきまして有難う御座います。 CSSを一度見直し、改めてメディアクエリで、スマートフォン用の画面にて別途作成をします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問