前提・実現したいこと
ここに質問の内容を詳しく書いてください。
新規登録とログインのモーダルを作っています。
画面幅が1440pxの場合に中央に表示されるよう設定されているので、他の幅に変えると見栄えが悪く、スマートフォンだと全て表示できなくなってしまいます。
どうしたら画面の大きさを変更しても中央に表示できるか教えて頂きたく、質問致しました。
また、モーダル表示のボタンを押すとページのトップにスクロールしてしまうので、それもどうしたら解決できるか教えて頂きたいです。
エラーメッセージはありません。
よろしくお願いいたします。
該当のソースコード
HTML
<header> <div class="container"> <div class="header-right"> <a href="#" class="signup-show">新規登録</a> <a href="#" class="login login-show">ログイン</a> </div> </div> </header> <!--ログインモーダル--> <div id="login-modal" class="login-modal-wrapper"> <div class="modal"> <div class="close-modal"> <i class="fa fa-2x fa-times"></i> </div> <div id="login-form"> <h2>Emailログイン</h2> <form action="#"> <input class="form-control" type="text" placeholder="メールアドレス"> <input class="form-control" type="password" placeholder="パスワード"> <div id="submit-btn">ログイン</div> </form> </div> </div> </div> <!--新規登録モーダル--> <div class="signup-modal-wrapper" id="signup-modal"> <div class="modal"> <div class="close-modal"> <i class="fa fa-2x fa-times"></i> </div> <div id="signup-form"> <h2>Emailで新規登録</h2> <form action="#"> <input class="form-control" type="text" placeholder="メールアドレス"> <input class="form-control" type="password" placeholder="パスワード"> <div id="submit-btn">新規登録</div> </form> </div> </div> </div>
CSS
/*ログインモーダル*/ .login-modal-wrapper, .signup-modal-wrapper { position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0, 0, 0, 0.6); z-index: 5; display: none; } .modal { position: absolute; top: 20%; left: 34%; background-color: #e6ecf0; padding: 20px 0 40px; border-radius: 10px; width: 450px; height: auto; text-align: center; } .modal .fa-times { position: absolute; top: 12px; right: 12px; color: rgba(128, 128, 128, 0.46); cursor: pointer; } #signup-form, #login-form { width: 100%; } #signup-form h2, #login-form h2 { color: #5f5d60; letter-spacing: 1px; margin-bottom: 40px; } #signup-form input, #login-form input { width: 320px; margin-bottom: 20px; font-size: 12px; padding: 12px 12px; border: 1px solid #d0d5d8; border-radius: 5px; } #submit-btn { display: inline-block; padding: 14px 140px; background-color: #5dca88; border: none; border-radius: 3px; color: white; margin: 10px auto; cursor: pointer; }
jQuery
//新規登録モーダル クリックイベント $('.signup-show').click(function(){ $('#signup-modal').fadeIn(); $('.modal-overlay').addClass('.open'); }); //モーダル非表示 $('.close-modal').click(function(){ $('#login-modal').fadeOut(); $('#signup-modal').fadeOut(); }); $('.modal-overlay').click(function(){ $('#login-modal').fadeOut(); $('#signup-modal').fadeOut(); $('.modal-overlay').removeClass('open'); $('.open').css('transition-duration', '5s'); });
補足情報
足りない情報等ございましたら、教えていただければ幸いです。
追記致します。
ご回答お待ちしております。
まだ回答がついていません
会員登録して回答してみよう