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基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
JS动画效果打开、关闭层的实现方法
May 09 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
JavaScript如何实现跨域请求
Aug 05 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
Jan 05 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
详解如何制作并发布一个vue的组件的npm包
Nov 10 Javascript
js+css实现扇形导航效果
Aug 18 Javascript
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通过session防url攻击方法
2014/12/10 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python基础教程之五种数据类型详解
2017/01/12 Python
使用Python实现简单的服务器功能
2017/08/25 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
python实现门限回归方式
2020/02/29 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
小学生自我鉴定
2013/10/12 职场文书
保安岗位职责
2014/02/21 职场文书
表彰大会主持词
2014/03/26 职场文书
爱与责任演讲稿
2014/05/20 职场文书
医院护士工作检讨书
2014/10/26 职场文书
租赁协议书
2015/01/27 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
Python合并多张图片成PDF
2021/06/09 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL