最近在作一個eit項目,因爲此項目裏面一些框架要遵循nttdata的一些規則,故用到了Bootstrap這個東東,第一次碰到這個東東,有很大抵觸,以爲很差,但用起來我以爲和別的彈出框真沒什麼兩樣。廢話少說,切入正題,Bootstrap彈出框垂直居中的問題,由於我拿到的彈出框樣式並不是垂直居中,而是top 10%,但頁面長了,就顯得特別噁心。css
解決方案:bootstrap
1.在css裏,找到框架
.modal.fade.in {
top: 10%;
}element
這個樣式,修改它就ok了,因爲css中是全局的,同時也可在頁面中定義到某個modal的(高度)位置,方法以下:it
<style>
#myModal-help
{
top:300px;
}
</style>console
#myModal-help這個爲modal的id,這樣設置就ok了。scroll
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了,這樣一來就全部的彈出框都垂直居中了。