現在、練習材料として下記のホームページを模写しておりますが、スマートフォン用にレスポンシブ対応をさせてたく、横並びになっているナビバーが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}