前提・実現したいこと
レスポンシブサイトでメニューバーを固定して内容をスクロールさせたいです。
発生している問題・エラーメッセージ
大きい画面サイズ(pc)ならスクロールがきくのですが、小さい画面サイズ(タブレット、スマホ)だとスクロールがききません。
該当のソースコード
CSS
1 2@charset 'utf-8'; /*文字コード指定*/ 3/* ----- css reset(各ブラウザで指定されているスタイルを初期化)と全体設定 ----- */ 4body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, textarea, p, th, td, img { 5 margin: 0; /*ボックス外側の余白(値1つは上下左右をまとめて指定)*/ 6 padding: 0; /*ボックス内側の余白(値1つは上下左右をまとめて指定)*/ 7 border: 0; /*境界線指定*/ 8} 9html, body { 10 height: 100%; /*領域の高さ指定*/ 11 scroll-behavior: smooth; 12} 13body { 14 font-size: 75%; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 15 line-height: 2; /*行の高さ指定(数値のみの場合はfont-sizeの倍数)*/ 16 background: #fff; /*背景指定*/ 17 font-family: 'メイリオ', Meiryo, 'MS Pゴシック', Osaka, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro'; /*フォントの種類指定(左から優先順位)*/ 18 color: #333; /*文字色指定*/ 19} 20ol, ul { 21 list-style: none; /*リストマーカーの種類指定(noneはなし)*/ 22} 23a { 24 color: #333; /*文字色指定*/ 25} 26a:hover { 27 text-decoration: none; /*テキストの装飾指定(下線、上線など)(noneはなし)*/ 28} 29.color1 { 30 color: #990000; /*文字色指定*/ 31} 32/*レイアウト設定*/ 33 34.top_wrapper { 35 float: right; /*要素を左か右に寄せて配置(rightは右に寄せる)*/ 36 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 37 height: 100%; /*領域の高さ指定*/ 38} 39.top_content { 40 margin-left: 200px; /*ボックス外側左の余白*/ 41 height: 100%; /*領域の高さ指定*/ 42} 43.wrapper { 44 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 45 margin: auto; /*ボックス外側の余白*/ 46 height: 100%; /*領域の高さ指定*/ 47/* 48 overflow: hidden; /*floatの解除*/ 49*/ 50} 51.main { 52 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 53 float: left; /*要素を左か右に寄せて配置(leftは左に寄せる)*/ 54 margin-right: -340px; /*ボックス外側右の余白*/ 55} 56.content { 57 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 58 float: right; /*要素を左か右に寄せて配置(rightは右に寄せる)*/ 59 margin-left: -200px; /*ボックス外側左の余白*/ 60} 61.content_inner { 62 margin: 10px 50px 50px 200px; /*ボックス外側の余白*/ 63 scroll-behavior: smooth; 64} 65/*header ページ上の内容*/ 66 67header { 68 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 69 top: 0; /*上からの距離(positionで指定している場合に適用)*/ 70 left: 200px; /*左からの距離(positionで指定している場合に適用)*/ 71 right: 340px; /*左からの距離(positionで指定している場合に適用)*/ 72 height: 100px; /*領域の高さ指定*/ 73 background: #fff; /*背景指定*/ 74 z-index: 1000; /*ボックス重なり順序指定*/ 75} 76/*左上のロゴ*/ 77 78h1 { 79 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 80 top: 100px; /*上からの距離(positionで指定している場合に適用)*/ 81 left: 0; /*左からの距離(positionで指定している場合に適用)*/ 82 font-family: 'Amatic SC', cursive; /*フォントの種類指定(googleのwebフォント)*/ 83 font-size: 4em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 84 line-height: 40px; /*行の高さ指定(数値のみの場合はfont-sizeの倍数)*/ 85 text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/ 86 padding: 10px; /*ボックス内側の余白*/ 87 width: 200px; /*幅指定*/ 88} 89h1 a { 90 color: #8b0000; /*文字色指定*/ 91 text-decoration: none; /*テキストの装飾指定(下線、上線など)(noneはなし)*/ 92} 93h1 a:hover { 94 /*時間的変化指定*/ 95 -webkit-transition: 0.5s; 96 -moz-transition: 0.5s; 97 -ms-transition: 0.5s; 98 -o-transition: 0.5s; 99 transition: 0.5s; /*ここまで時間的変化指定*/ 100 /*透明度設定*/ 101 opacity: 0.6; 102 filter: alpha(opacity=60); 103 -moz-opacity: 0.6; /*ここまで透明度設定*/ 104} 105/*中央上の見出し*/ 106 107header h2 { 108 font-size: 4em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 109 font-weight: normal; /*フォントの太さ指定(normalは標準)*/ 110 font-family: 'Norican', cursive; /*フォントの種類指定(左から優先順位)*/ 111 text-align: center; /*行の水平方向の揃え方(centerは中央揃え)*/ 112} 113/*メインの内容*/ 114 115.top_section { 116 margin: 200px auto 0; /*ボックス外側の余白*/ 117 width: 60%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 118} 119.top_h2 img { 120 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 121} 122article { 123 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 124} 125article h3 { 126 font-size: 2em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 127 font-weight: normal; /*フォントの太さ指定(normalは標準)*/ 128 margin-bottom: 10px; /*ボックス外側下の余白*/ 129} 130article li, p { 131 font-size: 1.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 132} 133section { 134 margin: 0 auto; /*ボックス外側の余白*/ 135 width: 60%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 136} 137/*左下の内容*/ 138 139.copyright { 140 font-size: 0.9em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 141 line-height: 15px; /*行の高さ指定(数値のみの場合はfont-sizeの倍数)*/ 142 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 143 bottom: 20px; /*下からの距離(positionで指定している場合に適用)*/ 144 left: 20px; /*左からの距離(positionで指定している場合に適用)*/ 145 width: 180px; /*幅指定*/ 146} 147/*googlesearch*/ 148 149.search { 150 width: 300px; /*幅指定*/ 151 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 152 top: 20px; /*上からの距離(positionで指定している場合に適用)*/ 153 right: 20px; /*右からの距離(positionで指定している場合に適用)*/ 154} 155.search input[type="text"] { 156 width: 80%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 157 padding: 8px !important; /*ボックス内側の余白*/ 158 font-size: 1.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 159 /*ボックス角丸設定*/ 160 border-radius: 5px 0 0 5px; 161 -moz-border-radius: 5px 0 0 5px; 162 -webkit-border-radius: 5px 0 0 5px; /*ここまでボックス角丸設定*/ 163 font-weight: bold; /*フォントの太さ指定(boldは太字)*/ 164 /*ボックス境界線設定*/ 165 border-top: 1px solid #a5a5a5; 166 border-left: 1px solid #a5a5a5; 167 border-bottom: 1px solid #a5a5a5; 168 border-right: none !important; /*ボックス境界線設定*/ 169} 170.search button { 171 width: 20%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 172 /*背景グラデーション指定*/ 173 background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #fff), color-stop(1.00, #cecece)); 174 background: -webkit-linear-gradient(#fff, #cecece); 175 background: -moz-linear-gradient(#fff, #cecece); 176 background: -o-linear-gradient(#fff, #cecece); 177 background: -ms-linear-gradient(#fff, #cecece); 178 background: linear-gradient(#fff, #cecece); /*ここまで背景グラデーション指定*/ 179 border: 1px solid #a5a5a5; /*境界線の一括指定*/ 180 padding: 7px; /*ボックス内側の余白*/ 181 color: #666; /*文字色指定*/ 182 font-size: 1.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 183 border-radius: 0 5px 5px 0; 184 -moz-border-radius: 0 5px 5px 0; 185 -webkit-border-radius: 0 5px 5px 0; 186 cursor: pointer; /*マウスカーソルの形状指定(pointerはリンクカーソル)*/ 187} 188.search button:hover { 189 /*透明度設定*/ 190 opacity: 0.7; 191 filter: alpha(opacity=70); 192 -moz-opacity: 0.7; /*ここまで透明度設定*/ 193 /*時間的変化指定*/ 194 -webkit-transition: 0.5s; 195 -moz-transition: 0.5s; 196 -ms-transition: 0.5s; 197 -o-transition: 0.s; 198 transition: 0.5s; /*ここまで時間的変化指定*/ 199} 200/*右側の内容*/ 201 202.right_content { 203 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 204 top: 120px; /*上からの距離(positionで指定している場合に適用)*/ 205 right: 20px; /*右からの距離(positionで指定している場合に適用)*/ 206 width: 300px; /*幅指定*/ 207} 208.ad { 209 width: 300px; /*幅指定*/ 210 height: 250px; /*領域の高さ指定*/ 211 background: #ff4500; /*背景指定*/ 212} 213/*ページトップに戻るアイコン*/ 214 215.pagetop:hover { 216 /*時間的変化指定*/ 217 -webkit-transition: 0.5s; 218 -moz-transition: 0.5s; 219 -ms-transition: 0.5s; 220 -o-transition: 0.5s; 221 transition: 0.5s; /*ここまで時間的変化指定*/ 222 color: #000; /*文字色指定*/ 223 /*透明度設定*/ 224 opacity: 0.6; 225 filter: alpha(opacity=60); 226 -moz-opacity: 0.6; /*ここまで透明度設定*/ 227} 228 229/*レスポンシブ設定*/ 230 231@media screen and (max-width: 768px) { 232h3, p, ol, li, th, td, dl { 233 font-size: 1.2em !important; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 234} 235.top_wrapper { 236 padding-top: 50px; /*ボックス内側上の余白*/ 237} 238.top_content { 239 margin-left: 0; /*ボックス外側左の余白*/ 240} 241h1 { 242 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 243 top: 5px; /*上からの距離(positionで指定している場合に適用)*/ 244 left: 50px; /*左からの距離(positionで指定している場合に適用)*/ 245 font-size: 2.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 246 width: auto; /*幅指定*/ 247 padding: 0; /*ボックス内側の余白*/ 248} 249header { 250 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 251 top: 90px; /*上からの距離(positionで指定している場合に適用)*/ 252 left: 0; /*左からの距離(positionで指定している場合に適用)*/ 253 right: 0; /*左からの距離(positionで指定している場合に適用)*/ 254 height: 50px; /*領域の高さ指定*/ 255} 256.mov_header { 257 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 258 top: 0; /*上からの距離(positionで指定している場合に適用)*/ 259 left: 0; /*左からの距離(positionで指定している場合に適用)*/ 260 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 261 height: 50px; /*領域の高さ指定*/ 262 z-index: 1000; /*ボックス重なり順序指定*/ 263 background: #fff; /*背景指定*/ 264} 265.mov_header2 { 266 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 267 top: 50px; /*上からの距離(positionで指定している場合に適用)*/ 268 left: 0; /*左からの距離(positionで指定している場合に適用)*/ 269 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 270 height: 50px; /*領域の高さ指定*/ 271 z-index: 2000; /*ボックス重なり順序指定*/ 272 background: #fff; /*背景指定*/ 273} 274header h2 { 275 font-size: 2.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 276} 277.wrapper { 278 overflow: visible; /*floatの解除を初期値に戻す*/ 279} 280.content { 281 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 282 float: none; /*要素を左か右に寄せて配置(noneはなし)*/ 283 margin: 120px 0 20px; /*ボックス外側の余白*/ 284} 285.content_inner { 286 margin: 0;/*ボックス外側の余白*/ 287} 288article h3 { 289 font-size: 1.5em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 290} 291.top_section { 292 margin: 100px auto 0; /*ボックス外側の余白*/ 293 width: 80%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 294} 295section { 296 width: 90%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 297} 298form { 299 width: 100%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 300} 301.search { 302 position: fixed; /*ボックスの配置方法(fixedは固定)*/ 303 top: 50px; /*上からの距離(positionで指定している場合に適用)*/ 304 left: 5%; /*左からの距離(positionで指定している場合に適用)*/ 305 width: 90%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 306} 307.search input[type="text"] { 308 padding: 10px !important; /*ボックス内側の余白*/ 309 width: 85%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 310 font-size: 1.2em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 311 font-weight: normal; /*フォントの太さ指定(normalは標準)*/ 312} 313.search button { 314 width: 15%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 315 padding: 10px; /*ボックス内側の余白*/ 316 font-size: 1.2em; /*フォントサイズ指定(emはフォントの高さを1とした相対指定)*/ 317} 318.right_content { 319 clear: both; /*floatの回り込み解除*/ 320 position: static; /*ボックスの配置方法(staticは指定なし)*/ 321 margin: 20px auto; /*ボックス外側上の余白*/ 322} 323.copyright { 324 width: 220px; /*幅指定*/ 325 /*透明度設定*/ 326 opacity: 0.3; 327 filter: alpha(opacity=30); 328 -moz-opacity: 0.3; /*ここまで透明度設定*/ 329} 330} 331 332@media screen and (min-width: 787px) and (max-width: 1200px) { 333section { 334 width: 90%; /*幅指定(100%は画面横幅いっぱいに表示)*/ 335} 336} 337
HTML
1コード
試したこと
スペルミスを探していろんなところにscrollを入れてみました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
>小さい画面サイズ(タブレット、スマホ)だとスクロールがききません。
という普通ならあり得ない症状をこちらでも再現できるように
htmlの追記、あるのならJavascriptも追記して下さい。
些末なことですみませんが、
✖レスポンシブル
〇レスポンシブ
です。
当てずっぽうの回答です。
> 大きい画面サイズ(pc)ならスクロールがきくのですが、小さい画面サイズ(タブレット、スマホ)だとスクロールがききません。
上記の症状から推測するに、
```
@media screen and (max-width: 768px) { ... }
```
の波カッコ内のどこかに問題があるのではないでしょうか?
例えば、
```
.wrapper {
overflow: visible; /*floatの解除を初期値に戻す*/
}
```
の「visible」を「scroll」に変えてみるとか?
------------
Jon_do さんもおっしゃっていますが、現状の質問文だと原因の特定が難しいです。
より正確な回答のために、現象を再現できる html と javascript を追記していただきたいです????????
回答1件
あなたの回答
tips
プレビュー