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 相关文章推荐
js静态作用域的功能。
Dec 25 Javascript
js跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
Angular2从搭建环境到开发步骤详解
Oct 17 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
Dec 08 Javascript
Vue 中使用 CSS Modules优雅方法
Apr 09 Javascript
JS的Ajax与后端交互数据的实例
Aug 08 Javascript
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
简单了解Javscript中兄弟ifream的方法调用
Jun 17 Javascript
JavaScript中this函数使用实例解析
Feb 21 Javascript
Javascript实现秒表计时游戏
May 27 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php中取得文件的后缀名?
2012/02/20 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
总结一些js自定义的函数
2006/08/05 Javascript
多个iframe自动调整大小的问题
2006/09/18 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
JavaScript中的this机制
2016/01/30 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
2018/08/25 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
python实现批量修改文件名代码
2017/09/10 Python
Python实现k-means算法
2018/02/23 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
python获取整个网页源码的方法
2020/08/03 Python
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
党风廉设责任书
2014/04/16 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
k8s部署redis cluster集群的实现
2021/06/24 Redis