今天教给大家如何对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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号