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 相关文章推荐
Prototype Date对象 学习
Jul 12 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
jQuery弹性滑动导航菜单实现思路及代码
May 02 Javascript
JavaScript移除数组内重复元素的方法
Mar 18 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
Aug 28 Javascript
JS中判断null的方法分析
Nov 21 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
jquery实现的分页显示功能示例
Aug 23 jQuery
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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实现事件监听与触发的方法
2014/11/21 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
PDO实现学生管理系统
2020/03/21 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
Vue实现日历小插件
2019/06/26 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
python爬虫selenium和phantomJs使用方法解析
2019/08/08 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
旅行社各个岗位职责
2014/03/15 职场文书
销售员态度差检讨书
2014/10/26 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
搞笑婚前保证书
2015/02/28 职场文书
幼师个人总结范文
2015/02/28 职场文书
聚会通知怎么写
2015/04/23 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
培训班开班主持词
2015/07/02 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers