【CSS】モーダルを表示したときにコンテンツに合わせてスクロールを許可/表示する方法(overflow-y: auto;)

css3-prograshi(プロぐらし)-kv CSS・SCSS
記事内に広告が含まれていることがあります。

モーダルを作成したときに、全画面表示するにはCSSプロパティで height: 100vh を設定します。

.menu-btn:checked ~ .menu-contents-wrapper {
  opacity: 1;
  height: 100vh;
  transform: scale(1);
  transition: 0.6s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1s;
}


モーダルを表示したときに、モーダルの中身が多かったり、デバイスの画面サイズが小さい場合に内容の一部が画面から見切れてしまうことがあります。

そういった場合に自動でスクロールを表示するには以下のCSSを付与します。

overflow-y: auto;



実例

高さが全画面表示(100vh)ではなく、300pxのように数値で指定した場合も、overflow-y: auto; を設定することで、要素がはみ出した場合に自動でスクロールバーを表示することができます。

二人はりんごをたいせつにポケットに手をひたしました。ジョバンニはおじぎをすると、向こうの鼠いろの切符をしっかりもっておいで。牛乳に入れてあげようと思いました。ボスといってね、ぼくのおっかさんのいちばんの幸福をさがし、みんなといっしょに汽車に乗って行こう。いま新しく灼いたばかりの男の子は顔を見合わせましたら、こんどは自分でとって来たのです。架橋演習をしてるんです。カムパネルラはみんながそんなことを習ったろうと思いながら、大股にその街燈の下を通り過ぎたとき、カムパネルラが川へはいったよどうしてなんですから容易じゃありませんか。はい白い太いずぼんをはいた学者らしい人が、少しおずおずしながら、それではあんまり出し抜けだから、そらごらん、ぼくといっしょに汽車に乗ってるんだ。その河原の水ぎわに沿って出て行って、水に手を入れて立ちながら言いました。誰も一言も物を言う人もありませんかおかしいねえカムパネルラが、あれとうもろこしだねえとジョバンニに言いました。双子のお星さまが野原へ遊びに来ていたのです。楊の木や何かもまっ黒にすかし出され、ジョバンニは思わず、カムパネルラともあんまり物を言わないように走りました。カムパネルラ、僕たちいっしょに行こうねえジョバンニが胸いっぱいに思いだされたので、だまって席へ戻りました。白い服を着て、白い巾でつつんだ荷物を、二つにわかれました。苹果だってお菓子だって、かすが少しもありませんなその人はすぐ奥へ行ってしまいそうでした。どうして、何か用かと口の中で見たあの図よりはずうっと小さかったのです。左手の渚には、いちめん銀や貝殻でこさえたような帯になってしまい、ほんとうにそのまっ赤なうつくしいさそりの火はちょうどあいさつでもするように、ちらちらゆれたり顫えたりしました。たちまちみんなはいろいろな国語で一ぺんにあの水面までおりて行くんですジョバンニは、少し肩をすぼめてあいさつしました。おかしいも不審もありませんでした。新世界交響楽はいよいよはっきり地平線のはてまで、その大きな海はパシフィックというの。

  <div class="custom-modal-scroll">
    <div class="custom-modal-scroll-content">
      <p>二人はりんごをたいせつにポケットに手をひたしました。ジョバンニはおじぎをすると、向こうの鼠いろの切符をしっかりもっておいで。牛乳に入れてあげようと思いました。ボスといってね、ぼくのおっかさんのいちばんの幸福をさがし、みんなといっしょに汽車に乗って行こう。いま新しく灼いたばかりの男の子は顔を見合わせましたら、こんどは自分でとって来たのです。架橋演習をしてるんです。カムパネルラはみんながそんなことを習ったろうと思いながら、大股にその街燈の下を通り過ぎたとき、カムパネルラが川へはいったよどうしてなんですから容易じゃありませんか。はい白い太いずぼんをはいた学者らしい人が、少しおずおずしながら、それではあんまり出し抜けだから、そらごらん、ぼくといっしょに汽車に乗ってるんだ。その河原の水ぎわに沿って出て行って、水に手を入れて立ちながら言いました。誰も一言も物を言う人もありませんかおかしいねえカムパネルラが、あれとうもろこしだねえとジョバンニに言いました。双子のお星さまが野原へ遊びに来ていたのです。楊の木や何かもまっ黒にすかし出され、ジョバンニは思わず、カムパネルラともあんまり物を言わないように走りました。カムパネルラ、僕たちいっしょに行こうねえジョバンニが胸いっぱいに思いだされたので、だまって席へ戻りました。白い服を着て、白い巾でつつんだ荷物を、二つにわかれました。苹果だってお菓子だって、かすが少しもありませんなその人はすぐ奥へ行ってしまいそうでした。どうして、何か用かと口の中で見たあの図よりはずうっと小さかったのです。左手の渚には、いちめん銀や貝殻でこさえたような帯になってしまい、ほんとうにそのまっ赤なうつくしいさそりの火はちょうどあいさつでもするように、ちらちらゆれたり顫えたりしました。たちまちみんなはいろいろな国語で一ぺんにあの水面までおりて行くんですジョバンニは、少し肩をすぼめてあいさつしました。おかしいも不審もありませんでした。新世界交響楽はいよいよはっきり地平線のはてまで、その大きな海はパシフィックというの。</p>
  </div>
 </div>
    .custom-modal-scroll {
      /* モーダルのスタイル */
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: #fff;
      padding: 20px;
    }

    .custom-modal-scroll-content {
      height: 300px;
      overflow-y: auto;
    }



なお、overflow-y: auto; がないと以下のようになります。(はみ出したところでブチっと切れてしまします)

二人はりんごをたいせつにポケットに手をひたしました。ジョバンニはおじぎをすると、向こうの鼠いろの切符をしっかりもっておいで。牛乳に入れてあげようと思いました。ボスといってね、ぼくのおっかさんのいちばんの幸福をさがし、みんなといっしょに汽車に乗って行こう。いま新しく灼いたばかりの男の子は顔を見合わせましたら、こんどは自分でとって来たのです。架橋演習をしてるんです。カムパネルラはみんながそんなことを習ったろうと思いながら、大股にその街燈の下を通り過ぎたとき、カムパネルラが川へはいったよどうしてなんですから容易じゃありませんか。はい白い太いずぼんをはいた学者らしい人が、少しおずおずしながら、それではあんまり出し抜けだから、そらごらん、ぼくといっしょに汽車に乗ってるんだ。その河原の水ぎわに沿って出て行って、水に手を入れて立ちながら言いました。誰も一言も物を言う人もありませんかおかしいねえカムパネルラが、あれとうもろこしだねえとジョバンニに言いました。双子のお星さまが野原へ遊びに来ていたのです。楊の木や何かもまっ黒にすかし出され、ジョバンニは思わず、カムパネルラともあんまり物を言わないように走りました。カムパネルラ、僕たちいっしょに行こうねえジョバンニが胸いっぱいに思いだされたので、だまって席へ戻りました。白い服を着て、白い巾でつつんだ荷物を、二つにわかれました。苹果だってお菓子だって、かすが少しもありませんなその人はすぐ奥へ行ってしまいそうでした。どうして、何か用かと口の中で見たあの図よりはずうっと小さかったのです。左手の渚には、いちめん銀や貝殻でこさえたような帯になってしまい、ほんとうにそのまっ赤なうつくしいさそりの火はちょうどあいさつでもするように、ちらちらゆれたり顫えたりしました。たちまちみんなはいろいろな国語で一ぺんにあの水面までおりて行くんですジョバンニは、少し肩をすぼめてあいさつしました。おかしいも不審もありませんでした。新世界交響楽はいよいよはっきり地平線のはてまで、その大きな海はパシフィックというの。

タイトルとURLをコピーしました