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

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

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

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

HTML5

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

Q&A

解決済

2回答

138閲覧

【GSAP】横スクロールするsectionについて

keel

総合スコア14

CSS3

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

HTML5

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

0グッド

1クリップ

投稿2025/05/06 05:35

実現したいこと

sectionの一部が横スクロールするサイトを作成しています。イメージ説明

発生している問題・分からないこと

codepenのコードを参考にしています。大きいモニターで見る際は正常ですが、ノートパソコンだとカードが見切れて見づらくなります。
GSAP側が勝手に高さ調整をしているっぽいのですが、ノートパソコンでも見やすくするにはどうすればいいでしょうか。
(画像はノートパソコンのもの)
イメージ説明

該当のソースコード

html

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title></title> 7 <link rel="stylesheet" href="css/destyle.css"> 8 <link rel="stylesheet" type="text/css" href="css/style.css"> 9 <script type="text/javascript" src="js/jquery-3.7.1.min.js"></script> 10</head> 11<body> 12 <h1 class="title">GSAP Pinning Side Scroll</h1> 13<section class="normal section"> 14 <div class="container"> 15 <h2 class="normal-heading heading">普通のセクション</h2> 16 <p class="normal-text"> 17 テキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよ 18 </p> 19 </div> 20</section> 21 22<section class="side-scroll section"> 23 <div class="side-scroll-container container"> 24 <h2 class="side-scroll-heading heading"> 25 横にスクロールするセクション 26 </h2> 27 <div class="side-scroll-list-wrapper"> 28 <ul class="side-scroll-list"> 29 <li class="side-scroll-item">Card</li> 30 <li class="side-scroll-item">Card</li> 31 <li class="side-scroll-item">Card</li> 32 <li class="side-scroll-item">Card</li> 33 <li class="side-scroll-item">Card</li> 34 <li class="side-scroll-item">Card</li> 35 </ul> 36 </div> 37 </div> 38</section> 39 40<section class="normal section"> 41 <div class="container"> 42 <h2 class="normal-heading heading">普通のセクション</h2> 43 <p class="normal-text"> 44 テキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよテキストが入りますよ 45 </p> 46 </div> 47</section> 48 49<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js"></script> 50<script src="https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js"></script> 51<script type="text/javascript" src="js/javascript.js"></script> 52</body> 53</html>

css

1@charset "utf-8"; 2 3body { 4 background-color: #eeebdd; 5 color: #1b1717; 6 font-family: Avenir, 'Helvetica neue', Helvetica, sans-serif; 7} 8 9/* 共通 */ 10.section { 11 width: 100%; 12 padding: 100px 0; 13} 14.container { 15 width: 80%; 16 max-width: 900px; 17 margin: 0 auto; 18} 19 20.heading { 21 font-size: 40px; 22 font-weight: 700; 23 letter-spacing: 0.05em; 24} 25 26/* タイトル */ 27.title { 28 padding: 200px 0 20px; 29 font-size: 52px; 30 text-align: center; 31} 32 33/* 普通のセクション */ 34.normal-text { 35 font-size: 20px; 36 letter-spacing: 0.08em; 37 margin-top: 60px; 38} 39 40/* 横スクロールセクション */ 41.side-scroll { 42 background-color: #1b1717; 43 display: flex; 44 justify-content: center; 45 align-items: center; 46} 47 48.side-scroll-heading { 49 color: #eeebdd; 50} 51 52.side-scroll-list-wrapper { 53 position: relative; 54 width: 100%; 55 height: 700px; 56} 57 58.side-scroll-list { 59 position: absolute; 60 top: 60px; 61 left: 0; 62 display: flex; 63 gap: 0 60px; 64} 65 66.side-scroll-item { 67 display: flex; 68 align-items: center; 69 justify-content: center; 70 width: 300px; 71 height: 420px; 72 background-color: #eeebdd; 73 color: #1b1717; 74 font-size: 32px; 75 font-weight: 700; 76} 77 78.side-scroll-item + .side-scroll-item { 79 margin-left: 60px; 80}

JavaScript

1const listWrapperEl = document.querySelector('.side-scroll-list-wrapper'); 2const listEl = document.querySelector('.side-scroll-list'); 3 4gsap.to(listEl, { 5 x: () => -(listEl.clientWidth - listWrapperEl.clientWidth), 6 ease: 'none', 7 scrollTrigger: { 8 trigger: '.side-scroll', 9 start: 'top top', // 要素の上端(top)が、ビューポートの上端(top)にきた時 10 end: () => `+=${listEl.clientWidth - listWrapperEl.clientWidth}`, 11 scrub: true, 12 pin: true, 13 anticipatePin: 1, 14 invalidateOnRefresh: true, 15 }, 16});

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

JavaScriptの8行目のtriggerをいじって、スタート位置を変えるとバグっておかしな位置で横スクロールが終わってしまいます。イメージ説明

補足

特になし

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

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

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

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

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

guest

回答2

0

汎用的にするのかメディアクエリで切り分けてレスポンシブにするのかあらかじめ画面の配置設計をする際に決める必要があるでしょう。メディアクエリなしで絶対値でサイズ指定するなら構成上はみ出るのは仕様となります

投稿2025/05/07 02:43

yambejp

総合スコア117674

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

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

keel

2025/05/07 08:05

ありがとうございます。 改めて設計の際に調整できるか試してみたいと思います。
guest

0

ノートパソコンだとカードが見切れて見づらくなります。

垂直方法に見切れる、ということですよね?
カードのサイズをheight: 420px;と固定値にしているのが原因かと思います。

投稿2025/05/07 01:11

Lhankor_Mhy

総合スコア37421

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

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

keel

2025/05/07 08:07

ありがとうございます。 height各要素のheightをいじってみたところ、とりあえずはうまくいきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問