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

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

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

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

jQuery

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

HTML

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

CSS

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

Q&A

解決済

1回答

1930閲覧

imgタグを使って背景画像として固定したい

Ryoma2001

総合スコア2

Webサイト

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

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/04/10 00:09

編集2021/04/10 10:45

サイトを制作しているのですが、slick sliderでスライダーを作成しました。それをパララックス風にしたいです。

そのためbackground-imgでそれを固定するのではなく、imgタグで指定している画像を固定したいです。

ほかの方法でスライダーで画像を表示してそれを下記のURLのように背景画像として固定する方法でも構いません!

こちらのデモサイトをご覧いただきたいです
リンク内容

また他にスライダーも画像をパララックスにする方法があれば教えていただきたいです。

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="description" content="プロサーファー松下諒大のサーフィンスクール ホームポイントは湯河原・吉浜です。ステップアップに悩んでる方僕と一緒にサーフィンを上達させましょう。"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9 <meta http-equiv="Pragma" content="no-cache"> 10 <meta http-equiv="Cache-Control" content="no-cache"> 11 <link rel="stylesheet" href="css/animate.css"> 12 <link href="https://fonts.googleapis.com/css?family=Bangers" rel="stylesheet"> 13 <!-- スライドショー --> 14 <link rel="stylesheet" href="./css/vegas.min.css"> 15 <link rel="stylesheet" href="css/index.css" /> 16 <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" /> 17 <title>【公式】</title> 18</head> 19 20<body> 21 22 23 <div class="bg-slider"> 24 <a href="#movie" id="rect"> 25 <span class="arrow_line fede"></span> 26 <span class="arrow_txt fede en_txt">Scroll</span> 27 </a> 28 <video class="mv-bg" src="./css/639728877.566801.mp4" autoplay playsinline muted loop></video> 29 30 <div class="mv-content"> 31 <p class="title_en fede en_txt">デモサイト</p> 32 <div class="bg-slider__title fede">デモサイトです</div> 33 </div> 34 </div> 35 <div style="background:#FFF;"> 36 37 <!-- ギャラリー --> 38 <div class="gallery-wrapper" id="gallery"> 39 <div class="fadein"> 40 <h1 class="fadein en_txt">GALLERY</h1> 41 <h1>ここにスライダーで背景画像とパララックスのようにしたい。</h1> 42 <h1>ファーストビューのような背景画像が固定されているようなパララックスをしたい</h1> 43 <h2 class="fadein"> × gallery </h2> 44 </div> 45 <div class="gallery_inner"> 46 </div> 47 </div> 48 </div> 49 <!-- トピックス --> 50 <div style="background:#FFF;"> 51 <div class="section-wrapper" id="news"> 52 <div class="fadein"> 53 <h1 class="fadein en_txt">NEWS & TOPICS</h1> 54 <h2 class="fadein">× news × topics</h2> 55 </div> 56 <div class="section-inner"> 57 <h3 class="section-title fadein">最新情報</h3> 58 <div class="news-wrapper"> 59 <dl class="news-list"> 60 </dl> 61 </div> 62 </div> 63 </div> 64 </div> 65 <!-- スクール --> 66 <div class="school-wrapper" id="school"> 67 <div class="school-container fadein"> 68 <h1 class="fadein en_txt">SURFING SCHOOL</h1> 69 <h2 class="fadein">School × Coaching ×</h2> 70 <div class="school-message fadein"> 71 <p>「少し経験したけど難しくて楽しくなかった。」から「サーフィンってこんなに楽しいんだ!」へ<br> 72 「基本マニューバー(リッピング・カービング・カットバック等)を中心にエアリアル等の高等テクニックまで」<br> 73 ライフスタイルであるサーフィンをもっと楽しくなるようにサポートさせて頂きます。</p> 74 </div> 75 <div class="school-btn fadein"> 76 <a href="php/contact.php" class="btn">スクール & コーチング & 各種問い合わせはこちら</a> 77 </div> 78 </div> 79 </div> 80 <div class="school-bottom"> 81 82 </div> 83 <!-- フッター --> 84 <div style="background:#FFF;"> 85 86 <footer> 87 <div class="footer-menu"> 88 <p>©ryota.matsushita.surfingschool.com ALL RIGHTS RESERVED.</p> 89 </div> 90 </footer> 91 </div> 92 93 94 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 95 <script src="https://code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script> 96 97 <!-- スライドショー --> 98 <script script type="text/javascript" src="./js/vegas.min.js"></script> 99 <script src="js/jquery.textillate.js"></script> 100 <script src="js/jquery.lettering.js"></script> 101 <script type="text/javascript" src="js/index.js"></script> 102</body> 103 104</html> 105 106

css

1.gallery_inner{ 2 width: 100vw; 3 height: 100vh; 4 min-height: 550px; 5 background-size: cover; 6 background-position: center; 7} 8.gallery_inner img{ 9 height: 50vh; 10 min-height: 550px; 11 object-fit: cover; 12}

jQuery

1$(function() { 2 $('.gallery_inner').vegas({ 3 slides: [ 4 { src: './css/img/gallery1.jpg' }, 5 { src: './css/img/gallery2.jpg' }, 6 { src: './css/img/gallery3jpg.jpg' }, 7 ], 8 }); 9});

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

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

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

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

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

Lhankor_Mhy

2021/04/10 02:23

ご提示のサイトの羽が生えているスマホ?はimg要素ではなくて背景画像のようでした。 また、slickはパララックス効果で使うのには向いていないと思います。
Ryoma2001

2021/04/10 02:29

ご回答ありがとうございます。
Ryoma2001

2021/04/10 02:30

スライダーで画像を表示しつつ背景画像として固定できるは何かありますでしょうか?
Lhankor_Mhy

2021/04/10 02:36

とすると、ご提示のサイトのようにしたいわけではないのですね。 position: fixed にして、z-index をマイナスにすればそれっぽくなるとは思います。 パララックスについては、また別のライブラリを使って実装した方がいいのではないかな、と思います。
Ryoma2001

2021/04/10 02:44

提示したサイトののようにしたいです。+でスライダーにできないかということです
Lhankor_Mhy

2021/04/10 02:54

position: fixed にして、z-index をマイナスにすればそれっぽくなると思いますよ。
Ryoma2001

2021/04/10 03:01

なぜか画像が表示されなくなりました。 パララックスでスライダーは難しいということでしょうか
Lhankor_Mhy

2021/04/10 03:04

コードを見てみないと何とも言えないですが、直接固定配置にするのではなくて、ラップしないといけないのかもしれないですね。
Ryoma2001

2021/04/10 03:07

参考にのURL変えたのでご覧いただきたいです
Ryoma2001

2021/04/10 04:58

ありがとうございます。
Lhankor_Mhy

2021/04/10 05:07

解決できそうですか?
Ryoma2001

2021/04/10 05:18

スライダーにはできたのですがパララックスになりません
Lhankor_Mhy

2021/04/10 05:29

ご提示のページがほとんど答えだと思いますが、どういうところがわからないですか?
Ryoma2001

2021/04/10 05:33

画像のスライドはできました。ただ背景画像として固定することができません。 1つのsectionの背景画像として固定することがしたいです。説明が下手で申し訳ないです
Lhankor_Mhy

2021/04/10 05:58

現状のコードを提示できますか?
Ryoma2001

2021/04/10 06:00

一部分を提示します
Ryoma2001

2021/04/10 06:08

追記しました。こちらで大丈夫ですしょうか?
Ryoma2001

2021/04/10 06:33

リンクの内容からURLを確認していただいたほうが分かりやすいかもです
Lhankor_Mhy

2021/04/10 07:11

ご提示のコードを試してみましたが、それでできているように見えました。 どういう問題が起きていますか?
Ryoma2001

2021/04/10 07:22

上記のURLご確認いただけましたか? パララックスのようになりましたか?
Lhankor_Mhy

2021/04/10 07:25

「上記のURL」が「リンク内容」のことであれば、拝見しました。 ただ、そちらでは、vegas slider のコードがないようでしたので、実際のコードはまた異なるのですよね?
Lhankor_Mhy

2021/04/10 07:27

それは分かったのですが、どういう問題が起きているのですか?
Ryoma2001

2021/04/10 07:37

こちらのようなデザインになるにはどうしたらできるか教えていただきたいです。
Ryoma2001

2021/04/10 07:38

background-attachment:fixed;でできるのですが、IOSだと表示が崩れてしまうのでほかの方法でさがしています
Lhankor_Mhy

2021/04/10 07:41

後ろに動画を固定して、前景にスライダーを置くんですよね? できているように思えますが……
Lhankor_Mhy

2021/04/10 07:41

ん?じゃあ、スライダーは必要ないのですか?
Ryoma2001

2021/04/10 08:04

違います!galleryの後ろにスライダーの画像を固定したいですということです!
Lhankor_Mhy

2021/04/10 08:08

ご提示のページでいうと、動画をやめてスライダーにしたい、ということですか?
Ryoma2001

2021/04/10 08:15

動画は辞めずにgalleryのところだけ背景画像をスライダーで固定したいです。 どちらか1つしかできませんか?
Lhankor_Mhy

2021/04/10 08:26

なるほど、理解できました。 パララックスのライブラリを使った方がいいように思えます。 これはどうでしょうか。ぴったり固定することができるのかどうか、ちょっとわからないのですが。 https://www.willstyle.co.jp/blog/1632/
Ryoma2001

2021/04/10 08:32

ありがとうございます。これでファーストビューのように固定できますか?
Ryoma2001

2021/04/10 08:38

スライダーで指定している画像なのでこのライブラリは難しいですかね?
Lhankor_Mhy

2021/04/10 08:41

どうでしょう、デモをご覧になるとわかりますが、画像以外のものにも視差効果をつけられますよ。 ぴったり固定できるかどうかは、試してみたことはないです。 とにかく、スクロールに連動で、transform: translate などを操作する方法しか思いつきません。 もしかしたら、自前でごりごり書いた方が速いかもしれないです。
Ryoma2001

2021/04/10 08:45

自前でごりごりですよね…とりあえずやってみます。またお聞きしますね
Ryoma2001

2021/04/10 09:06

画像が表示させなくなりました
Lhankor_Mhy

2021/04/10 09:09

そうですか。 では、やはり自前で書くしかないかもですね。 スライダーをoverflow:hiddenで切り取って、スクロールイベントを拾ってスライダー部分のスクロール位置を変える、というのはどうでしょうか。
Ryoma2001

2021/04/10 10:37

ありがとうございます。 すいません。私の理解不足で申し訳ないのですが、スライダーを切り取るとかがわからないのですが。具体的に教えていただきたいです。
Ryoma2001

2021/04/10 10:40

とりあえず先ほどのjQueryライブラリは使わないで自前で書くということでしょうか?
Ryoma2001

2021/04/10 10:41

今コードを書き直したのでご確認頂きたいです。
guest

回答1

0

ベストアンサー

ご提示のページ上では試していませんが、機能的にはこういうことでしょうか?

サンプル

js

1window.addEventListener('scroll',e=>{ 2 document.querySelector('section').style.marginTop = - document.querySelector('div').offsetTop + document.documentElement.scrollTop + "px"; 3});

投稿2021/04/12 05:06

Lhankor_Mhy

総合スコア36960

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

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

Ryoma2001

2021/04/14 21:52

そうです! また新たな質問をしたのでそちらも回答お待ちしております
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問