Bootstrap模态框(modal)垂直居中的实例代码


Posted in Javascript onAugust 18, 2016

Bootstrap官网下载:http://v3.bootcss.com/

今天就在使用Bootstrap框架中遇到的一个问题分享一下,在产品开发的过程中使用了大量的弹出窗口(modal)。

刚开始学习使用的过程中就发现此窗口不能垂直居中,总是偏上,并且不能拖动,看了一下使用说明也没有提供过多的属性设置和方法,就这样使用默认的方式一直用着。最近,客户却提出了一个要求:能不能让弹出窗口居中,因为一些小的窗口偏上总感觉整体页面失衡,大一点的还过得去。

因为之前对Bootstrap也不是很熟悉,便开始baidu、google,发现只有很少的解决方案,如下:

$("#myModal").modal().css({
"margin-top": function () {
return - ($(this).height() / 2);
}
});

参考地址:http://www.g2w.me/2012/06/bootstrap-modal-shown-in-the-center/

这种方法自己试了一下,并不能完全居中,并且窗口的大小不一样的话,每次显示的margin-top值也会改变,遮盖层还会出现滚动条,效果也不好看。

自己也试了改了几种方式也不容乐观,发现在窗口弹出之前是获取不到$(this).height()的值,本想着是用($(window).height()-$(this).height())/2,发现还是不可行。

最终只能研究一下源码了,发现可以在bootstrap.js文件900行后面添加如下代码,便可以实现垂直居中。

that.$element.children().eq(0).css("position", "absolute").css({
"margin":"0px",
"top": function () {
return (that.$element.height() - that.$element.children().eq(0).height()-40) / 2 + "px";
},
"left": function () {
return (that.$element.width() - that.$element.children().eq(0).width()) / 2 + "px";
}
});

页面代码如下:

<div>
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>

 效果图如下:

Bootstrap模态框(modal)垂直居中的实例代码

以上所述是小编给大家介绍的Bootstrap模态框(modal)垂直居中的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
深入理解JavaScript系列(2) 揭秘命名函数表达式
Jan 15 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
js面向对象的写法
Feb 19 Javascript
javascript表单控件实例讲解
Sep 13 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
JS实现的tab页切换效果完整示例
Dec 18 Javascript
javascript关于“时间”的一次探索
Jul 24 Javascript
ant-design-vue按需加载的坑的解决
May 14 Javascript
Vue 401配合Vuex防止多次弹框的案例
Nov 11 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
js 获取站点应用名的简单实例
Aug 18 #Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
Aug 18 #Javascript
js修改onclick动作的四种方法(推荐)
Aug 18 #Javascript
AngularJS 整理一些优化的小技巧
Aug 18 #Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 #Javascript
js获取form表单所有数据的简单方法
Aug 18 #Javascript
Javascript中浏览器窗口的基本操作总结
Aug 18 #Javascript
You might like
php第一次无法获取cookie问题处理
2014/12/15 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
python登陆asp网站页面的实现代码
2015/01/14 Python
解读Python中degrees()方法的使用
2015/05/18 Python
python实现数组插入新元素的方法
2015/05/22 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Python实现分段线性插值
2018/12/17 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
生日寄语大全
2014/04/08 职场文书
C++程序员求职信
2014/05/07 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
个人校本研修方案
2014/05/26 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL