Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
使用过bootstrap modal(模态框)组件的人都有一种困惑, 好好的一个弹出框怎么就无法垂直居中了呢?刚巧在做一个eit项目,由于此项目里面一些框架要遵循nttdata的一些规则,故用到了Bootstrap这个东东,第一次碰到这个东东,有很大抵触,觉得不好,但用起来我觉得和别的弹出框真没什么两样。废话少说,切入正题,Bootstrap弹出框垂直居中的问题,因为我拿到的弹出框样式并非垂直居中,而是top 10%,但页面长了,就显得特别恶心。
解决方案如下所示:
1.在css里,找到
.modal.fade.in { top: 10%; }
这个样式,修改它就ok了,由于css中是全局的,同时也可在页面中定义到某个modal的(高度)位置,方法如下:
<style> #myModal-help { top:300px; } </style>
#myModal-help这个为modal的id,这样设置就ok了。
2.在js中,
我用的是bootstrap-modal.js(如果用的是bootstrap.js或者是bootstrap.min.js,同样可以,但需要找到相应位置)。
在js中找到(红色是我添加的方法):
var left = ($(document.body).width() - that.$element.width()) / 2; var top = ($(document.body).height() - that.$element.height()) / 2; var scrollY = document.documentElement.scrollTop || document.body.scrollTop; //滚动条解决办法 var top = (window.screen.height / 4) + scrollY - 120; //滚动条解决办法 console.log(left); that.$element .addClass('in') .attr('aria-hidden', false) .css({ left: left, top: top, margin: "0 auto" }); that.enforceFocus()
找到后,将红色的添加进去,就ok了,这样一来就所有的弹出框都垂直居中了。
相关推荐
jingtianyiyi 2016-04-30
zh000 2018-09-13
jingtianyiyi 2016-09-19
twtonrg 2016-04-30
zh000 2019-06-25
jingtianyiyi 2015-11-23
DJPLH 2018-01-24
lixia 2017-05-10
DJPLH 2017-03-29
iChangebaobao 2017-02-27
hllinc 2017-02-27
niepxiya 2017-02-23
wuchangjian 2017-02-21
zh000 2019-05-09
twtonrg 2016-12-28
乔乔 2016-08-09
wuchangjian 2016-04-27
ivoryqin 2019-05-05
soulis 2016-04-03