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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2289閲覧

headerをfv上に表記したい

free_teku

総合スコア103

CSS3

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/10/22 23:51

編集2021/10/29 07:11

前提・実現したいこと

表題の通り、 レスポンシブ時にfvにheaderを載せたい

現状は下記の画像の通りです
現状

ご教授いただけると幸いです。

発生している問題・エラーメッセージ

fvの上下に余白ができてしまいます

試したこと

fvのul li
overflow:hiddenを設定しているが、余白が出てしまう
position: relative,absoluteを使い、headerをfv内に表示させるよう試みるも、できない

該当のソースコード

コード

※字数制限により、一部HTML,cssを書きました。
何卒宜しくお願い致します。

CSS

1.header { 2 position: fixed; 3 top: 0; 4 z-index: 999; 5 width: 100%; 6 max-height: 80px; 7 background-color: transparent; 8 display: -webkit-box; 9 display: -webkit-flex; 10 display: -ms-flexbox; 11 display: flex; 12 -webkit-box-pack: justify; 13 -webkit-justify-content: space-between; 14 -ms-flex-pack: justify; 15 justify-content: space-between; 16 padding: 10px 20px; 17} 18 19@media screen and (min-width: 600px) and (max-width: 1179px) { 20 .header { 21 position: fixed; 22 top: 0; 23 padding: 15px 20px; 24 } 25} 26 27@media screen and (max-width: 599px) { 28 .header { 29 position: fixed; 30 top: 0; 31 padding: 8px 10px; 32 max-height: 60px; 33 } 34} 35 36.header-inner { 37 max-width: 1880px; 38 width: 100%; 39 display: -webkit-box; 40 display: -webkit-flex; 41 display: -ms-flexbox; 42 display: flex; 43 -webkit-box-align: center; 44 -webkit-align-items: center; 45 -ms-flex-align: center; 46 align-items: center; 47 margin: 0 auto; 48 box-sizing: border-box; 49 -webkit-box-sizing: border-box; 50} 51 52.header-left { 53 display: -webkit-box; 54 display: -webkit-flex; 55 display: -ms-flexbox; 56 display: flex; 57 -webkit-box-pack: left; 58 -webkit-justify-content: left; 59 -ms-flex-pack: left; 60 justify-content: left; 61 -webkit-box-align: center; 62 -webkit-align-items: center; 63 -ms-flex-align: center; 64 align-items: center; 65} 66 67.header-left h1 { 68 display: block; 69} 70 71.header-left h1 .logo img { 72 display: block; 73 width: 130px; 74 height: 130px; 75 margin: 20px 120px 20px 20px; 76} 77 78.header-left .nav { 79 display: -webkit-box; 80 display: -webkit-flex; 81 display: -ms-flexbox; 82 display: flex; 83 -webkit-box-pack: justify; 84 -webkit-justify-content: space-between; 85 -ms-flex-pack: justify; 86 justify-content: space-between; 87 -webkit-box-align: center; 88 -webkit-align-items: center; 89 -ms-flex-align: center; 90 align-items: center; 91 margin-left: 120px; 92 /* @include tb { 93 display: none; 94 } */ 95 /* @include sp{ 96 right: -75%; 97 } */ 98} 99 100@media screen and (min-width: 600px) and (max-width: 1179px) { 101 .header-left .nav { 102 top: 80px; 103 position: fixed; 104 top: 150px; 105 right: 0; 106 z-index: 10; 107 overflow: hidden; 108 width: 16.25rem; 109 background-color: #000; 110 width: 50%; 111 height: 60vh; 112 -webkit-transform: translate(550px); 113 transform: translate(550px); 114 -webkit-transition: .5s; 115 transition: .5s; 116 } 117} 118 119@media screen and (max-width: 599px) { 120 .header-left .nav { 121 top: 60px; 122 position: fixed; 123 z-index: 2; 124 overflow: hidden; 125 width: 16.25rem; 126 background-color: rgba(0, 0, 0, 0.9); 127 width: 75%; 128 -webkit-transition: margin-left .5s; 129 transition: margin-left .5s; 130 } 131} 132 133.header-left .nav .header-list { 134 display: -webkit-box; 135 display: -webkit-flex; 136 display: -ms-flexbox; 137 display: flex; 138 -webkit-box-align: center; 139 -webkit-align-items: center; 140 -ms-flex-align: center; 141 align-items: center; 142 padding-top: 20px; 143 padding-bottom: 20px; 144} 145 146.header-left .nav .header-list .header-item { 147 color: #fff; 148} 149 150@media screen and (max-width: 599px) { 151 .header-left .nav .header-list .header-item { 152 padding: 20px; 153 font-size: 2rem; 154 } 155} 156 157.header-left .nav .header-list .header-item + .header-item { 158 padding-left: 30px; 159} 160 161.header-left .nav .header-list .header-item > a { 162 color: #fff; 163 display: inline-block; 164 -webkit-transition: .3s; 165 transition: .3s; 166 /* 0.3秒で拡大までの時間 */ 167} 168 169.header-left .drawer-nav_active { 170 -webkit-transform: translateZ(0); 171 transform: translateZ(0); 172} 173 174.header-right { 175 margin-left: auto; 176} 177 178@media screen and (max-width: 599px) { 179 .header-right { 180 margin-left: 20px; 181 } 182} 183 184.header-right .header-link { 185 /* height: calc(54/80*100%); 186 background-color: $link-color; 187 border-radius: 3px; 188 padding: 15px 35px; 189 display: flex; 190 justify-content: flex-end; 191 align-items: center; */ 192} 193 194@media screen and (min-width: 600px) and (max-width: 1179px) { 195 .header-right .header-link { 196 margin-left: auto; 197 } 198} 199 200.header-right .header-link .calender-link { 201 display: block; 202 background-color: #978F10; 203 text-decoration: none; 204 font-weight: bold; 205 -webkit-box-align: center; 206 -webkit-align-items: center; 207 -ms-flex-align: center; 208 align-items: center; 209 text-align: center; 210 color: #fff; 211 padding: 10px 37px; 212 font-size: 1.6rem; 213 -webkit-transition: .3s; 214 transition: .3s; 215} 216 217@media screen and (min-width: 600px) and (max-width: 1179px) { 218 .header-right .header-link .calender-link { 219 margin-right: 100px; 220 } 221} 222 223@media screen and (max-width: 599px) { 224 .header-right .header-link .calender-link { 225 padding: 8px 16px; 226 font-size: 1.4rem; 227 } 228} 229 230.header-right .header-link .calender-link::before { 231 content: ""; 232 display: inline-block; 233 margin: -3px 5px 0 0; 234 background: url(../../img/calender.png) no-repeat; 235 background-size: contain; 236 vertical-align: middle; 237 width: 22px; 238 height: 22px; 239} 240 241.header-right .header-link .calender-link:hover { 242 background-color: #000; 243} 244 245/* .nav-wrapper{ 246 height: 100%; 247 overflow-x: hidden; 248 position: relative; 249} */ 250.overlay { 251 content: ""; 252 display: block; 253 width: 0; 254 height: 0; 255 background-color: rgba(0, 0, 0, 0.5); 256 position: absolute; 257 top: 0; 258 left: 0; 259 z-index: 2; 260 opacity: 0; 261 -webkit-transition: opacity .5s; 262 transition: opacity .5s; 263} 264 265.overlay._open { 266 width: 100%; 267 height: 100%; 268 opacity: 1; 269} 270 271.modal { 272 display: none; 273 height: 100%; 274 position: fixed; 275 top: 0; 276 left: 0; 277 width: 100%; 278 z-index: 3; 279} 280 281.js-modal { 282 /* display: block; 283 width: calc(550 /1920*100%); 284 height: calc(600/1080*100%); 285 background-color: #fff; 286 position: absolute; 287 top: 50%; 288 left: 50%; 289 margin-right: 20px; 290 border: 1px solid #707070; 291 transform: translate(-50%,-50%); 292 z-index: 100; */ 293} 294 295.js-modal .modal__bg { 296 background: rgba(0, 0, 0, 0.6); 297 height: 100%; 298 position: absolute; 299 width: 100%; 300} 301 302.js-modal .js-modal-content { 303 background: #fff; 304 padding: 40px; 305 position: absolute; 306 top: 50%; 307 left: 50%; 308 -webkit-transform: translate(-50%, -50%); 309 transform: translate(-50%, -50%); 310 width: 60%; 311 position: relative; 312} 313 314@media screen and (max-width: 599px) { 315 .js-modal .js-modal-content { 316 width: 95%; 317 padding: 20px; 318 } 319} 320 321@media screen and (min-width: 1180px) { 322 .js-modal .js-modal-content { 323 width: 28%; 324 min-width: 550px; 325 padding: 20px 60px 90px 60px; 326 } 327} 328 329.form-inner .form_img { 330 width: 18px; 331 height: 18px; 332} 333 334.form-inner h2 { 335 font-size: 2rem; 336 text-align: center; 337 padding: 10px; 338} 339 340.form { 341 margin-top: 28px; 342} 343 344.form-list .form-item input { 345 border: 1px solid #E7E7E7; 346 padding: 0 10px; 347 width: 100%; 348 line-height: 1; 349 color: #797878; 350 height: 32px; 351 margin-top: 10px; 352} 353 354.form-list .form-item select { 355 border: 1px solid #E7E7E7; 356 padding: 0 10px; 357 width: 100%; 358 line-height: 1; 359 color: #797878; 360 height: 32px; 361 margin-top: 10px; 362} 363 364.form-close { 365 text-align: center; 366} 367 368.form-close > a { 369 display: inline-block; 370 width: 198px; 371 margin-top: 64px; 372 border: 1px solid #000; 373 text-align: center; 374 padding: 13px; 375 line-height: 1; 376 -webkit-transition: .3s; 377 transition: .3s; 378} 379 380.fv { 381 position: relative; 382 overflow: hidden; 383} 384 385.wrap { 386 padding: 16px; 387} 388 389#slide_wrap { 390 position: relative; 391 overflow: hidden; 392} 393 394#slide_wrap .slide_item { 395 opacity: 0; 396 -webkit-transform: scale(1); 397 transform: scale(1); 398 -webkit-transition: opacity 2s linear, -webkit-transform 7.5s linear; 399 transition: opacity 2s linear, -webkit-transform 7.5s linear; 400 transition: opacity 2s linear, transform 7.5s linear; 401 transition: opacity 2s linear, transform 7.5s linear, -webkit-transform 7.5s linear; 402 position: relative; 403} 404 405#slide_wrap .slide_item:not(:first-child) { 406 position: absolute; 407 top: 0; 408 left: 0; 409} 410 411@media screen and (min-width: 600px) and (max-width: 1179px) { 412 #slide_wrap .slide_item:not(:first-child) { 413 position: absolute; 414 top: 0; 415 left: 0; 416 } 417} 418 419#slide_wrap .slide_item.show { 420 opacity: 1; 421} 422 423#slide_wrap .slide_item.zoom { 424 -webkit-transform: scale(1.1); 425 transform: scale(1.1); 426} 427 428#slide_wrap .slide_item img { 429 display: block; 430} 431 432.fv-txt1 { 433 display: block; 434 position: absolute; 435 top: 26%; 436 left: 71%; 437 -webkit-writing-mode: vertical-rl; 438 -ms-writing-mode: tb-rl; 439 writing-mode: vertical-rl; 440 font-size: 3.4rem; 441 color: #fff; 442 padding-left: 51px; 443 line-height: 6rem; 444}

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

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

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

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

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

free_teku

2021/10/23 00:42 編集

あっ、申し訳ありません。 コードが抜けていました! 今、貼りましたm(_ _)m
Lhankor_Mhy

2021/10/23 01:59

問題が再現しませんでした。 header は fv の上にあるようでした。
free_teku

2021/10/23 06:16

レスポンシブ時でも、可能なんですね!? もう一度、私の方で確認し、折り返しご報告します! いつも、ご回答いただきありがとうございます!!
free_teku

2021/10/24 06:27

ご回答ありがとうございます。modalが原因っぽいので、改めて連絡します。 いつも、ご回答いただきありがとうございます
free_teku

2021/10/27 13:59

Lhankor_Mhyさん いつもありがとうございます 結論、modalが原因ではなくて、他に原因があるようでした。
free_teku

2021/10/28 11:09

JSの スクロールのコードかなと考えていますが、fv上に載っているんですか?
Lhankor_Mhy

2021/10/29 01:55

> fv上に載っているんですか? ページを開いたときはそうですね。
free_teku

2021/10/29 04:59

開いた瞬間はそうなのですが、レスポンシブ時に(window<1160px)余白が出ます。自身で考えたのは jsの設定かな?/cssかな?とそれぞれ確認しましたが、改善されませんでした。
Lhankor_Mhy

2021/10/29 05:18

それは書かなくても私に伝わるものですかね?
free_teku

2021/10/29 05:55

申し訳ございません。書きそびれました。m(__)m もう一つ考えられるのが、Topの上限を決めていないがために 上にスクロールでき、その余白が表示されていることもひとつ考えられます。
Lhankor_Mhy

2021/10/29 06:13

1080pxで確認しましたが、問題が再現しませんでした。 開いたときにはfvの上にheaderがあります。
free_teku

2021/10/29 06:42 編集

ご回答ありがとうございます。上部にスクロールすると、余白ができるのはどんな原因があったりしますか?「スクロール top 余白」などで検索しましたが、それらしき回答やヒントは見つかりませんでした。 他のサイト(階層が3ページ構成)となっているため、他のサイトを確認したところ 上部に余白が生じていないため(正直、ほとんどコピペしています。=header,modal) していないところでいうと、fvのため、FVが上部に余白をもたらせないようにする必要があると仮説しています。何か原因となるコードはあるか、把握できますデショウカ?
Lhankor_Mhy

2021/10/29 06:43

たぶん、原因はここにないので、難しいのではないかと思いますが。 問題が再現するコードをご提示ください。
Lhankor_Mhy

2021/10/29 07:43

jsFiddle を拝見しましたが、問題が再現しませんでした。 fvとheaderは重なっています。 おそらく、問題の認識が当方と free_teku さんとでずれているのだと思います。
free_teku

2021/10/29 09:07 編集

承知しました。 改めて、問題について説明します。 Lhankor_Mhyさんがおっしゃるように、更新をかけて、初めに戻すと、headerはfv上にあります。 (問題↓) ですが、window-height>100pxにしたのちに、window-height<100pxに戻すと、fvを超えたTopまでスクロールでき fvを超えたwindowが背景白で、そこにheaderが乗ります。→解決策は、fv上の余白を消す。すると、 jsで書いた100pxを基準にbgが#fff or #000の変更にも該当しなくなるため、スムーズにいくと考えています。 イメージつきますでしょうか?
free_teku

2021/10/29 08:42

もしかしたら、すべてのコードを書いていないから、問題が生じていない可能性もあるため 下記にすべてのコードを貼ります。本当にいつも丁寧に回答いただきありがとうございます。 頭が上がりません。m(__)m こちらが、すべてのコードです。 https://jsfiddle.net/take0844/zk5sh2wn/2/
Lhankor_Mhy

2021/10/29 08:45

> window>100pxにしたのちに、window<100pxに戻す 横幅のことですか? だとすると、当方の Chrome ではそこまで小さくできないようです。 > すると、jsで書いた jsFiddle には js がありませんでした。これは回答にある js ですか?
free_teku

2021/10/29 09:07

言葉足らずで申し訳ありません。 横幅ではなく、縦幅です。m(__)m
Lhankor_Mhy

2021/10/29 09:09

とにかく、fvの余白を減らせばいいのですか?
free_teku

2021/10/29 10:21

そうですね。できればそうしたいのですが、、
Lhankor_Mhy

2021/11/01 05:34

であれば、margin-top:0 などとすればいいのでは。
free_teku

2021/11/02 07:01

headerにmargin-top: 0px;を設定しましたができませんでした。改めて、分析してみた結果 header-bg-color: #fff;がwindow(height>100px)超えた後に、Window hight<100pxにもどすと 上記の現象が生じます。 一方で、room.htmlなどだとこの現象が起こりません。 ↓推測で、fvの現象かなと判断し、そうでもなさそうでした。 原因追及にもう一つ力を貸していただけると幸いです。よろしくお願いいたします。 一応、room.htmlのコードも添付します。m(__)m https://jsfiddle.net/take0844/e3Lo9bnp/
Lhankor_Mhy

2021/11/02 07:03

fvの余白を消したいのですから、headerに書いてもダメなのではないですか?
free_teku

2021/11/02 07:21

すみません。解決できました。今までの中で、一番謝りたいレベルです。 本当にありがとうございました!!
free_teku

2021/11/02 07:21

Lhankor_Mhyさんにはいつも感謝しています。m(__)m
guest

回答2

0

自己解決

FV

1 2.fv { 3 position: relative; 4 overflow: hidden; 5} 6 7.wrap { 8 padding: 16px; 9} 10 11#slide_wrap { 12 position: relative; 13 overflow: hidden; 14} 15 16#slide_wrap .slide_item { 17 opacity: 0; 18 -webkit-transform: scale(1); 19 transform: scale(1); 20 -webkit-transition: opacity 2s linear, -webkit-transform 7.5s linear; 21 transition: opacity 2s linear, -webkit-transform 7.5s linear; 22 transition: opacity 2s linear, transform 7.5s linear; 23 transition: opacity 2s linear, transform 7.5s linear, -webkit-transform 7.5s linear; 24 position: relative; 25} 26 27#slide_wrap .slide_item:not(:first-child) { 28 position: absolute; 29 top: 0; 30 left: 0; 31} 32 33@media screen and (min-width: 600px) and (max-width: 1179px) { 34 #slide_wrap .slide_item:not(:first-child) { 35 position: absolute; 36 top: 0; 37 left: 0; 38 } 39} 40 41#slide_wrap .slide_item.show { 42 opacity: 1; 43} 44 45#slide_wrap .slide_item.zoom { 46 -webkit-transform: scale(1.1); 47 transform: scale(1.1); 48} 49 50#slide_wrap .slide_item img { 51 display: block; 52} 53 54.fv-txt1 { 55 display: block; 56 position: absolute; 57 top: 26%; 58 left: 71%; 59 -webkit-writing-mode: vertical-rl; 60 -ms-writing-mode: tb-rl; 61 writing-mode: vertical-rl; 62 font-size: 3.4rem; 63 color: #fff; 64 padding-left: 51px; 65 line-height: 6rem; 66}

js

1/* header-top.css */ 2 3$(function(){ 4 5 let header = $('.header'); 6 let Logo = $('.header-logo'); 7 let item = $('.header-item'); 8 let drawer = $('.drawer-nav'); 9 let line = $('.line'); 10 $(window).scroll(function(){ 11 if($(this).scrollTop()>=100){ 12 //$("#logo").attr("src", "") 13 14 //header-bgを白に変更 15 header.css('background','#fff'); 16 //logoを変更 17 Logo.attr('src', '/img/sub-header-logo.png'); 18 19 //aタグで囲った文字を黒に変更 20 item.find('a').css('color', '#000'); 21 //ハンバーガーアイコンを黒に変更 22 $('head').append('<style>.line { background: #000; } </style>'); 23 //$('head').append('<style>.drawer-hamburger-icon::after { background: #000; } </style>'); 24 line.css('background-color','#000'); 25 if (window.matchMedia( "(min-width: 1179px)" ).matches) { 26 drawer.css('background-color','transparent'); 27 } else { 28 drawer.css('background-color','#fff'); 29 } 30 // ドロワーの色を白に 31 } else { 32 33 // 画面がトップから100px以下の時は、上記と逆の処理を行う 34 header.css('background','transparent'); 35 Logo.attr('src', '/img/top-header-logo.png'); 36 item.find('a').css('color', '#fff'); 37 // drawer.css('background-color','#000'); 38 $('head').append('<style>.line{ background: #fff; } </style>'); 39 //$('head').append('<style>.drawer-hamburger-icon::after { background: #fff; } </style>'); 40 line.css('background-color','#fff'); 41 if (window.matchMedia( "(min-width: 1179px)" ).matches) { 42 header.css('background-color','transparent'); 43 drawer.css('background-color','transparent'); 44 } else { 45 drawer.css('background-color','rgba(0,0,0,0.9)'); 46 } 47 } 48 }); 49 });

投稿2021/10/22 23:52

編集2021/10/28 11:11
free_teku

総合スコア103

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

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

0

字数制限により載せれなかったので、下記にfvを載せます。
原因はheaderにあるようにも感じますが、できませんでした

投稿2021/10/22 23:52

free_teku

総合スコア103

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問