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

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

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

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

HTML

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

CSS

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

Q&A

1回答

113閲覧

Micromodal.jsでモーダルウィンドウを実装しているが、開いたウィンドウが常に下スクロールされた状態で開かれるため、上スクロールされた状態で開きたい

hiro1125

総合スコア2

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

HTML

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

CSS

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

0グッド

0クリップ

投稿2024/11/06 15:43

実現したいこと

Micromodal.jsでモーダルウィンドウを実装しているが、開いたウィンドウが常に下スクロールされた状態で開かれるため、上スクロールされた状態で開きたい

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

コードのどの部分を触ったら、モーダルウィンドウが常に上スクロールの状態で開くことができるのかが分からない

該当のソースコード

HTML

1 <div id="modal-1" class="modal" aria-hidden="true"> 2 <div class="overlay" tabindex="-1" data-micromodal-close> 3 <div class="overlayInner" role="dialog" aria-modal="true" aria-labelledby="modal-1-title"> 4 <div class="cancelIcon" aria-label="Close modal" data-micromodal-close> 5 <img src="img/細いバツのアイコン (1) 1.png" alt=""> 6 </div> 7 <div role="document" id="modal-1-content"> 8 <div id="modal-1-title"> 9 <p class="eventHeading">イベント情報</dt> 10 <p class="eventDays">2024.06.03</dt> 11 </div> 12 <h3>住宅設計相談会を実施します。弊社建築士と将来の家造りを真剣に考えませんか?</h3> 13 <div class="modal-1Image"> 14 <img src="img/news01 1.jpg" alt=""> 15 </div> 16 <div class="modalText"> 17 <p>みなさま、こんにちは!弊社では、住宅設計相談会を開催することになりました!将来の家造りを真剣に考える皆様、ぜひご参加ください。</p> 18 <br> 19 <p>家を建てるというのは、人生の中で最も重要なイベントの一つです。そのためには、慎重な計画と適切なアドバイスが欠かせません。そこで、弊社の建築士が皆様のお悩みやご要望をお聞きし、最適な家づくりの提案をさせていただきます。</p> 20 <br> 21 <p>住宅設計相談会では、以下のようなことについてご相談いただけます:</p> 22 <br> 23 <ul> 24 <li>・理想の間取りやデザインについて</li> 25 <li>・予算や資金計画の相談</li> 26 <li>・土地選びや法的手続きについてのアドバイス</li> 27 <li>・新しい住宅技術や省エネルギーの取り入れ方について</li> 28 </ul> 29 <br> 30 <p>また、相談会に参加いただいた方には、特別なサービスやプレゼントもご用意しています。家造りに関するご質問や疑問点がある方は、ぜひこの機会にお気軽にご参加ください。</p> 31 <br> 32 <p>弊社の建築士が、皆様のご要望にお応えし、一緒に理想の家づくりを実現するお手伝いをさせていただきます。ぜひお越しください!</p> 33 </div> 34 <div class="btn"> 35 <button aria-label="Close modal" data-micromodal-close> 36 <p>閉じる</p> 37 </button> 38 </div> 39 </div> 40 </div> 41 </div> 42 </div>

css

1body main .newsArea .newsInner .eventInformation .modal { 2 display: none; 3} 4body main .newsArea .newsInner .eventInformation .modal.is-open { 5 display: block; 6} 7body main .newsArea .newsInner .eventInformation .modal .overlay { 8 position: fixed; 9 top: 0; 10 left: 0; 11 right: 0; 12 bottom: 0; 13 z-index: 2; 14 background: rgba(0, 0, 0, 0.6); 15 display: flex; 16 justify-content: center; 17 align-items: center; 18} 19body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner { 20 position: relative; 21 background-color: #fff; 22 padding: 16px 102px 24px; 23 width: 60%; 24 height: 95vh; 25 overflow-y: auto; 26 box-sizing: border-box; 27} 28body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner .cancelIcon { 29 position: absolute; 30 background-color: rgba(0, 0, 0, 0.6); 31 top: 0; 32 right: 0; 33 width: 32px; 34 height: 32px; 35} 36body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner .cancelIcon img { 37 width: 100%; 38 height: 100%; 39} 40body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div #modal-1-title { 41 display: flex; 42 margin-bottom: 16px; 43} 44body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div #modal-1-title .eventHeading { 45 font-size: 14px; 46 line-height: 23px; 47 color: #4282B8; 48 border: 1px solid #4282B8; 49 width: 115px; 50 height: 23px; 51 text-align: center; 52 margin-right: 16px; 53 padding: 0; 54} 55body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div #modal-1-title .eventDays { 56 font-size: 14px; 57 line-height: 1; 58 color: #4282B8; 59 align-self: center; 60 padding: 0; 61} 62body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div h3 { 63 font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); 64 line-height: 1.8; 65 color: #000000; 66} 67body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .modal-1Image { 68 width: 100%; 69 margin: 16px 0 35px; 70} 71body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .modal-1Image img { 72 width: 100%; 73} 74body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .modalText p { 75 font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); 76 font-weight: 400; 77 line-height: 1.8; 78 color: #000000; 79 padding-top: 0; 80} 81body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .modalText ul li { 82 font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); 83 font-weight: 400; 84 line-height: 1.8; 85 color: #000000; 86} 87body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .btn { 88 width: 240px; 89 height: 60px; 90 border: 1px solid #4282B8; 91 background-color: #4282B8; 92 border-radius: 10px; 93 text-align: center; 94 margin: 61px auto 0; 95} 96body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .btn button { 97 position: relative; 98 width: 100%; 99} 100body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .btn button p { 101 font-size: 16px; 102 line-height: 60px; 103 padding-top: 0; 104 color: #FFFFFF; 105} 106body main .newsArea .newsInner .eventInformation .modal .overlay .overlayInner div .btn button::after { 107 content: ""; 108 display: inline-block; 109 width: 10px; 110 height: 10px; 111 background-color: #FFFFFF; 112 border-radius: 50%; 113 position: absolute; 114 top: 25px; 115 right: 25px; 116}

試したこと・調べたこと

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

解消することができなかった

補足

特になし

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

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

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

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

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

juner

2024/11/07 00:50 編集

途中のhtml構造が無いとか、 Micromodal の呼び出し条件が不明とか、エスパーしますけれど 再現するとこんな playground でしょうか? https://livecodes.io/?x=id/4e4wr7m69jm (※本来はそういうところも質問文上のソースに書いてほしいところ) micromodal は version 0.4.10 であっていますでしょうか? とりあえず事象は再現したのでニュアンスは把握しました。
guest

回答1

0

Micromodal の 初期化関数に onShow という モーダル表示時のイベントがあります。

micromodal configuration

スクロールが発生しているのは role=dialog な要素の様なので下記の様に対象の要素のスクロール位置を調整してみてはいかがでしょうか?

js

1import MicroModal from "https://cdn.jsdelivr.net/npm/micromodal@0.4.10/+esm"; 2MicroModal.init({ 3 onShow: (dialog, opener, event) => { 4 // role=dialog の 要素がそのダイアログに含まれているのであれば、 5 // その要素の scrollTop を 0 に設定する 6 const $dialogRoleElement = dialog.querySelector("[role=dialog]"); 7 if ($dialogRoleElement) $dialogRoleElement.scrollTop = 0; 8 }, 9});

playground

投稿2024/11/07 01:06

juner

総合スコア437

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問