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

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

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

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

HTML5

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

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

HTML

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

CSS

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

Q&A

解決済

1回答

1249閲覧

スマホでサイトをみた時にメインビジュアルのみスクロールできません

h-mizu_.23

総合スコア3

CSS3

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

HTML5

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

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

HTML

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

CSS

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

0グッド

1クリップ

投稿2021/12/22 20:02

編集2021/12/26 13:18

前提・実現したいこと

ヘッダーを上部に固定し、スクロールしても追従してくるようにしたいです

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

スマホで確認するとヘッダー部分とハンバーガーメニュー内のナビゲーションメニューをスクロールすると下へスクロールできますが、メインビジュアル部分のみスクロールできません。
pcで見たり、pc上のスマホバージョンでもスクロールできます。メインビジュアルのスライドショーが始まるとタッチしてもスクロールバーが表示されなくなるようです。
初心者で至らない点があるかと思いますがどうぞよろしくお願いします。

該当のソースコード

html

1<head> 2<meta charset="UTF-8"> 3<meta name="viewport" content="width=device-width, initial-scale=1.0"> 4<title>demo3hair salon caravan</title> 5<link rel="stylesheet" href="bootstrap-reboot.css"> 6<link rel="stylesheet" href="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.css"> 7<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 8<script src="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.min.js"></script> 9<script src="js/main.js"></script> 10<script src="js/smooth-scroll.js"></script> 11<link rel="stylesheet" href="style.css"> 12<link rel="stylesheet" href="pc.css" media="(min-width:768px)"> 13<link rel="stylesheet" href="sp.css" media="(max-width:767px)"> 14<link rel="preconnect" href="https://fonts.gstatic.com"> 15<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap" rel="stylesheet"> 16 <script> 17 var scroll = new SmoothScroll('a[href*="#"]'); 18 </script> 19</head> 20 21<body> 22<header id="page-header"> 23<div id="header-container"> 24<div id="btn-container" > 25<div id="btn-menu"> 26 <i></i> 27 <i></i> 28 <i></i> 29</div><!--#btn-menu--> 30</div><!--/#btn-container--> 31<div class="pc rogo"><img src="images/caravan-rogo3.png"></div> 32 <div class="rogo sp"><img src="images/sp-caravan-rogo3.png"></div> 33 34<div class="yoyaku pc"><a href=""><img src="images/pc-btn-casravan.jpg"></a></div> 35<div class="yoyaku sp"><a href=""><img src="images/btn-yoyaku.jpg"></a></div> 36 37 38</div><!--/.header-container--> 39</header> 40 41 42<main> 43 <div id="mv-container"> 44 <div class="mainvisual-container"> 45 <img src="images/sp-caravan-m1−3.jpg" alt="salon image"> 46 <img src="images/sp-caravan-m2.jpg" alt="salon image"> 47 <img src="images/sp-caravan-m3.jpg" alt="salon image"> 48 <img src="images/sp-caravan-m8.jpg" alt="salon image"> 49 <img src="images/sp-caravan-m4.jpg" alt="salon image"> 50 <img src="images/sp-caravan-m10.jpg" alt="salon image"> 51 52 </div><!--/.mainvisual-container--> 53 </div> 54</main> 55 56<nav id="nav-main"> 57 <div class="background"> 58<ul> 59 <li>menu</li> 60 <li>staff</li> 61 <li>blog</li> 62 <li>access</li> 63 <li>reserve</li> 64 <li>recrute</li> 65 <li>info</li> 66</ul> 67 </div> 68</nav> 69 70<script> 71 $(document).ready(function(){ 72 $('.mainvisual-container').bxSlider({ 73 mode: 'fade', 74 speed: 3900, 75 auto: true, 76 pager: false, 77 controls: false 78 79 }); 80 }); 81</script> 82<script> 83 $('#btn-menu').on('click',function(){ 84 $('#btn-menu, #nav-main' ).toggleClass('show'); 85 }); 86</script> 87 88 89 <script> 90 $(function() { 91 const 92 height=$("header-container").height(); 93 $("main").css("padding-top",height +40 ); 94 }); 95 </script>

css

1<style.css> 2#header-container { 3 display: flex; 4 position: fixed; 5 z-index: 10; 6 width: 100%; 7 height: auto; 8 top: 0; 9 background-color: #fff; 10 } 11 12#header-container .pc{ 13 margin: 0 0 0 auto; 14} 15#header-container .sp{ 16 margin: 0 0 0 0; 17} 18#page-header{ 19 height: 40px; 20} 21#btn-menu { 22 display: block; 23 width: 25px; 24 height: 33px; 25 position: relative; 26 27} 28 29main { 30 top: 45px; 31} 32#nav-main { 33 position: fixed; 34 top: 3rem; 35 left:0; 36 right: 0; 37 bottom:0; 38 height: fit-content; 39 padding: 1rem; 40 display: none; 41 transition: opacity .5s, visibility .5s; 42} 43#nav-main.show { 44 45 display: block; 46 position: fixed; 47 left: 0; 48 padding: 0; 49 z-index: 11; 50}

javascript

1<main.js>

試したこと

・ヘッダーに100vhを指定するとスクロールできますが、リンク先をクリックできず、またヘッダーの背景を白にしたいので画面全体が真っ白になります。
・position: stickyを指定しましたが変化がありませんでした。
・その他スムーズにスクロールするjqueryなど試しましたが変化がありませんでした。

補足情報(FW/ツールのバージョンなど)

スライドショーにはjqueryを使用しています。
js/main.jsには現在何も書いておりません

smooth-scroll.jsは文字数の都合上こちらに記載いたしました。
リンク内容

動作確認していただくためデモサイトをアップしました。pcバージョンの画像加工が完了していないため、スマホバージョンで見ていただけると助かります。(実際にスマホで見るとメインビジュアルがスクロールできない状態です。)
デモサイト リンク内容

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

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

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

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

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

Lhankor_Mhy
nekora

2021/12/23 02:15

質問は、編集・追記できます。プラグインを使用しているならそのURLなどが分かるように、HTMLを省略せずに<head></head>内も記載してください。 コードを載せる場合は、コードブロックというアイコンボタンを押してその中にコードを書いてください。 このままでは、読みづらくて回答が付くはずの物がつかなくなってしまいますよ?
h-mizu_.23

2021/12/23 03:37

ご指摘ありがとうございます。 後ほど編集しなおしてみます。
h-mizu_.23

2021/12/23 13:05

再度編集いたしました。どうぞよろしくお願いします。
nekora

2021/12/23 19:26

<head>内を確認したところ、jsとスタイルシートがいくつか読み込まれてますね。 こちらも公開いただかないとデバッグして回答することが出来ません。 js、スタイルシートも公開してください。
h-mizu_.23

2021/12/23 21:16

至らない点ばかりで申し訳ありませんでした。js、スタイルシートを記載いたしました。 pc.css,sp.cssは該当箇所がないかとは思いますが念のため記載いたしました。 jqueryはリンク先を貼らせていただきました。 どうぞよろしくお願いいたします。
nekora

2021/12/23 22:28 編集

あれ?jsが記載されてないようですが、<head>タグの<script>タグで読み込んでるjsとcssを記載してください。(ただしhttps://で始まるものは記載の必要はありません) ちゃんと更新理由を書きましたか?それがないと反映されませんよ?
h-mizu_.23

2021/12/24 00:08

たびたびすみません。更新理由書いたのですが私の手違いかと思います。後ほど確認いたします。
h-mizu_.23

2021/12/24 14:48

たびたび失礼いたします。smooth-scroll.jsが入力可能な文字数を超えてしまい記載できておりません。そのような場合の対処方法を調べたのですが出てこず、対処方法ご存知でしたら教えていただけますでしょうか?
nekora

2021/12/24 17:22

CODEPENというネットにコードをUPして、他人に動作を見てもらうためのネットサービスがあります。アカウントは無料で作れますのでそこにアップして、アップした先のURLを記載していただければ文字数制限を回避できますよー
h-mizu_.23

2021/12/24 20:12

詳しく教えていただきありがとうございます。やってみます!
h-mizu_.23

2021/12/25 13:42

コードペンにアップさせていただきました。(もし不備などありましたら申し訳ありません。) どうぞよろしくお願いいたします。
nekora

2021/12/26 03:13 編集

ソースありがとうございます。さぁ、デバッグだと意気込んでみたのですが、画像が表示されないため。何が何やらさっぱりわかりません。使用しているすべてのimagesフォルダのすべての画像をCODE PENに置いていただけますか?(CODE PENに画像が置けたかちょっと記憶があやふやですが・・・) もし置けないようなら、質問文のCSSをCODE PENに移動させて、質問の空いた部分に使用しているすべての画像をUPしてください。 お手数ですがよろしくお願いします。
h-mizu_.23

2021/12/26 13:23

私、意図を理解しておらず申し訳ありませんでした。 コードペンでうまくjqueryと画像を入れられず、デモサイトにアップさせていただいたのですが、こちらでも確認していただくことは可能でしょうか? コードペンの方にメインビジュアル関連のhtml、cssも記入いたしました。 何度もお手間をかけてしまい申し訳ありません。
nekora

2021/12/26 14:10 編集

あーはい。これでOKです。さっそくデバッグに入らせていただきます。
h-mizu_.23

2021/12/26 14:17

早速のお返事ありがとうございます。 どうぞよろしくお願いいたします。
guest

回答1

0

色々と対応ありがとうございました。

デバッグが完了しました。クロームの開発者ツールでは問題ないことを確認しています。

実機でのテストではさすがにそちら様のサーバー上のコードを勝手に書き換えるわけにもいかないので実機での確認はお任せします。

まず、headタグ内のスクリプトは削除してください。

変更点のみコードを抜粋して掲載します。

html

1 <nav id="nav-main" class=""> 2 <div class="background"> 3 <ul> 4 <li>menu</li> 5 <li>staff</li> 6 <li>blog</li> 7 <li>access</li> 8 <li>reserve</li> 9 <li>recrute</li> 10 <li>info</li> 11 </ul> 12 </div> 13 </nav> 14 15 <div id="back-drop"></div><!--ユーザビリティを上げるためバックドロップを追加--> 16 17 <script> //新規追加 18 // ページ内リンクのみ取得 19 var scroll = new SmoothScroll('a[href*="#"]', { 20 speed: 300,//スクロールする速さ 21 header: '#page-header'//固定ヘッダーがある場合 22 }); 23 </script> 24 25 <script> 26 $(document).ready(function(){ 27 $('.mainvisual-container').bxSlider({ 28 mode: 'fade', 29 speed: 3900, 30 auto: true, 31 pager: false, 32 controls: false 33 34 }); 35 }); 36 </script> 37 <script> 38 $('#btn-menu').on('click',function(){ 39 $('#btn-menu, #nav-main' ).toggleClass('show'); 40 $('#back-drop').toggleClass('show'); 41 }); 42 43 $('#back-drop').on('click',function(){ //ユーザビリティを上げるためバックドロップを追加 44 $('#btn-menu, #nav-main' ).toggleClass('show'); 45 $('#back-drop').toggleClass('show'); 46 }); 47 </script>

css

1#page-header { /*headerのcssを修正*/ 2 height: 40px; 3 position: fixed; 4 width: 100%; 5 top: 0; 6 left: 0; 7 z-index: 150; 8} 9 10#back-drop { /*ユーザビリティを上げるためバックドロップを追加*/ 11 position: fixed; 12 left: 0; 13 top: 0; 14 width: 100vw; 15 height: 100vh; 16 z-index: 100; 17 background-color: #000; 18 opacity: 0; 19 visibility: hidden; 20 transition: all .6s; 21 cursor: pointer; 22} 23 24#back-drop.show { 25 opacity: .5; 26 visibility: visible; 27} 28 29#nav-main.show { /*バックドロップに対応させてCSSを修正*/ 30 display: block; 31 position: fixed; 32 left: 0; 33 padding: 0; 34 z-index: 150; 35 width: 120px; 36 background: white; 37} 38 39#mv-container { /*新規追加*/ 40 margin-top: 40px; 41}

あと、デバッグしてて気づいたのですが、

sp.cssのimgタグの右マージンのプロパティ名が間違ってます 正しくは margin-right です

参考リンク:https://www.omakase.net/blog/2020/10/smooth-scrolljs.html

コードブロックの右上のボタンでコード全体をコピーできますので、ご自分の環境に張り付けてテストしてみてください。

また、何かそちら様では対応不可能な不具合などありましたら、こちらの回答の方にコメントをつけてください。
出来る限り対応します。

投稿2021/12/26 17:41

編集2022/02/05 06:14
nekora

総合スコア501

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

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

nekora

2021/12/26 17:42

回答が役になったなら回答の横の数字をポイントすると回答の評価の増減ができます。 また解決につながった回答はベストアンサーに指定できます。 この設定は個別に指定できますし、同時に設定することもできます。
h-mizu_.23

2021/12/26 21:36

迅速かつ丁寧に対応してくださりありがとうございました。 おかげさまでスクロールもできるようになりました。 とても手こずっていたので本当に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問