From d1ab694920235c0017770ec210d69f6ac1fbfb0e Mon Sep 17 00:00:00 2001 From: Brentley Jones <the.ajarn@gmail.com> Date: Tue, 16 Jul 2013 03:14:26 +0000 Subject: [PATCH] FIX: Modal dialogs now truely center and work at all screen sizes (mobile) --- .../templates/modal/modal.js.handlebars | 32 +++++++++++-------- .../stylesheets/application/modal.css.scss | 28 +++++++++++----- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/app/assets/javascripts/discourse/templates/modal/modal.js.handlebars b/app/assets/javascripts/discourse/templates/modal/modal.js.handlebars index b55d4e8c6..f9b3cc16c 100644 --- a/app/assets/javascripts/discourse/templates/modal/modal.js.handlebars +++ b/app/assets/javascripts/discourse/templates/modal/modal.js.handlebars @@ -1,16 +1,22 @@ -<div class="modal-header"> - <a class="close" {{action closeModal}}><i class='icon-remove icon'></i></a> - <h3>{{title}}</h3> -</div> -<div id='modal-alert'></div> +<div id='modal-outer-container'> + <div id='modal-middle-container'> + <div id='modal-inner-container'> -{{outlet modalBody}} + <div class="modal-header"> + <a class="close" {{action closeModal}}><i class='icon-remove icon'></i></a> + <h3>{{title}}</h3> + </div> + <div id='modal-alert'></div> -{{#each errors}} - <div class="alert alert-error"> - <button class="close" data-dismiss="alert">×</button> - {{this}} + {{outlet modalBody}} + + {{#each errors}} + <div class="alert alert-error"> + <button class="close" data-dismiss="alert">×</button> + {{this}} + </div> + {{/each}} + + </div> </div> -{{/each}} - - +</div> diff --git a/app/assets/stylesheets/application/modal.css.scss b/app/assets/stylesheets/application/modal.css.scss index 9306705d0..b35c1a985 100644 --- a/app/assets/stylesheets/application/modal.css.scss +++ b/app/assets/stylesheets/application/modal.css.scss @@ -38,14 +38,18 @@ filter: alpha(opacity=80); } -.modal { - position: fixed; - top: 50%; - left: 50%; - z-index: 1050; - overflow: auto; - width: 610px; - margin: -250px 0 0 -305px; +#modal-outer-container { + display:table; + width:100%; + height:100%; +} +#modal-middle-container { + display:table-cell; + vertical-align: middle; +} +#modal-inner-container { + max-width: 610px; + margin: 0 auto; background-color: #ffffff; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.3); @@ -56,6 +60,14 @@ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); background-clip: padding-box; } +.modal { + position: fixed; + top: 0; + width: 100%; + height: 100%; + z-index: 1050; + overflow: auto; +} .modal.fade { -webkit-transition: opacity .3s linear, top .3s ease-out; transition: opacity .3s linear, top .3s ease-out;