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动画(animate)简单引擎代码示例
Dec 04 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
jQuery ajax提交Form表单实例(附demo源码)
Apr 06 Javascript
特殊日期提示功能的实现方法
Jun 16 Javascript
针对JavaScript中this指向的简单理解
Aug 26 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
深入浅出webpack之externals的使用
Dec 04 Javascript
JavaScript基础之静态方法和实例方法分析
Dec 26 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
微信小程序图片自适应实现解析
Jan 21 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
Dec 14 Vue.js
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 什么是PEAR?
2009/03/19 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
PHP安全下载文件的方法
2016/04/07 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
Three.js快速入门教程
2016/09/09 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python3使用requests发闪存的方法
2016/05/11 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Django model update的多种用法介绍
2020/03/28 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
python画图常规设置方式
2020/03/05 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
历史系毕业生自荐信
2013/10/28 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
大学军训心得体会800字
2016/01/11 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技