今天教大家如何對Bootstrap 模態框垂直居中處理,希望大家耐心學習哦。
目前bootstrap的版本是3.x,在目前版本中對於bootstrap modal(模態框)並沒有提供垂直居中的屬性。
如果想讓modal再垂直方向居中,目前需要自己處理。
方案1. 在modal顯示成功後,重置margin-top的位置
<p class="modal " id="myModal"> <p class="modal-dialog"> <p class="modal-content"> <p class="modal-header"> <button class="close" data-dismiss='modal'>×</button> <h4 class="modal-title">测试模态框标题</h4> </p> <p class="modal-body"> <p>内容…</p> </p> <p class="modal-footer"> <button class="btn btn-default" data-dismiss='modal'>关闭</button> </p> </p> </p> </p> <button class="btn btn-primary" data-toggle='modal' data-target='#myModal'> 点击测试弹框 </button>
載入成功事件監聽:
$('#myModal').on('shown.bs.modal', function () { var $this = $(this); var dialog = $this.find('.modal-dialog'); //此种方式,在使用动画第一次显示时有问题 //解决方案,去掉动画fade样式 var top = ($(window).height() - dialog.height()) / 2; dialog.css({ marginTop:top }); });
#方案2.修改原始碼,在原始碼中,提前設定margin-top的位置(建議)
#:這種方式在使用動畫fade時顯示正常。
修改原始程式碼,在設定dialog位置的地方
Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) // 是弹出框居中。。。 var $modal_dialog = $(this.$element[0]).find('.modal-dialog'); var m_top = ( $(window).height() - $modal_dialog.height() )/2; $modal_dialog.css({'margin': m_top + 'px auto'}); }
相關推薦:
bootstrap學習筆記bootstrap佈局方式_html/css_WEB-ITnose
Bootstrap入門筆記之(零)Bootstrap簡介_html/css_WEB-ITnose
以上是如何對Bootstrap 模態框垂直置中處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!