Bootstrap彈出框(modal)垂直居中的問題及解決方案詳解

NO IMAGE

使用過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了,這樣一來就所有的彈出框都垂直居中了。

以上所述是小編給大家介紹的Bootstrap彈出框(modal)垂直居中的問題及解決方案詳解的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對指令碼之家網站的支援!

您可能感興趣的文章:

BootStrap建立響應式導航條例項程式碼BootStrap響應式導航條例項介紹Bootstrap每天必學之下拉選單Bootstrap每天必學之級聯下拉選單Bootstrap 中下拉選單修改成滑鼠懸停直接顯示Bootstrap中的Dropdown下拉選單更改為懸停(hover)觸發JS元件Bootstrap實現彈出框和提示框效果程式碼BootStrap的彈出框(Popover)支援滑鼠移到彈出層上彈窗層不隱藏的原因及解決辦法Bootstrap每天必學之彈出框(Popover)外掛bootstrap響應式導航條模板使用詳解(含下拉選單,彈出框)