Bootstrap 模態方塊是一個輕量級的多用途JavaScript彈出窗口,可自訂和響應式。可以使用它在網站中顯示警告視窗、影片和圖片。使用Bootstrap建立的網站可以使用模態框來顯示條款和條件(作為註冊過程的一部分),視頻,甚至社交媒體小部件。

為了可以更好地理解它,我們來看看Bootstrap模態框的各個組成部分。
Bootstrap 模態框主要分為三個部分:頭部(header),正文(body)和頁腳(footer)。每個部分都有自己的意義,因此我們應該正確的使用它們。我們稍後將討論這些。 Bootstrap模態框架最令人興奮的是什麼?你不需要寫任何JavaScript程式碼就可以使用它!所有的程式碼和樣式都是由Bootstrap預先定義的。你所需要做的只是使用正確的標記和屬性來觸發它。
預設的模態方塊
預設的模態方塊如下所示:

##要觸發模態框,你需要加入連結或按鈕。觸發元素的標記可能如下所示:
1 2 3 | <a href= "#" class = "btn btn-lg btn-success"
data-toggle= "modal"
data-target= "#basicModal" >Click to open Modal</a>
|
登入後複製
請注意,link元素有兩個自訂資料屬性:data-toggle和data-target。 toggle告訴Bootstrap要做什麼,target告訴Bootstrap要打開哪個元素。所以每當點擊這樣的連結時,都會出現一個id為「basicModal」的模態框。
現在讓我們看看定義模態框所需的程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <div class = "modal fade" id= "basicModal" tabindex= "-1" role= "dialog" aria-labelledby= "basicModal" 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" >
<h3>Modal Body</h3>
</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>
</div>
</div>
|
登入後複製
模態框的父div應具有與上述觸發元素中使用的相同的ID。在我們的例子中是id="basicModal"。
注意:父模態框元素中自訂屬性aria-labelledby和aria-hidden讓其可被存取。讓所有人都能訪問你的網站是一個很好的做法,所以你應該使用這些屬性,因為它們不會對模態框的普通功能產生負面影響。
在模態框的HTML程式碼中,我們可以看到一個封裝div嵌套在父模態框div內。這個div的類別modal-content告訴bootstrap.js在哪裡找模態框的內容。在這個div內,我們需要放置前面提到的三個部分:頭部,正文和頁腳。
模態框頭部,顧名思義,用於為模態添加一個標題或如“x”關閉按鈕等其他元素。這些元素也應該有一個data-dismiss屬性告訴Bootstrap哪個元素要隱藏。
然後我們看一下模態框的正文。可以把它看做一個打開的畫布,你可以在其中添加任何類型的數據,包括嵌入YouTube視頻,圖像或任何其他內容。
最後,我們看一下模態框的頁腳。該區域預設為右對齊。在這個區域,你可以放置“保存”,“關閉”,“接受”等操作按鈕,這些按鈕與“模態框”需要表現的行為相關聯。
現在我們完成了我們的第一個模態框!你可以在我們的演示頁面上查看。
相關推薦:《
bootstrap入門教程》
#改變模態框的大小
Bootstrap模態框是回應式的、靈活的。
Bootstrap 3.3.7中模態框有兩種新的風格:大和小。為divmodal-dialogdiv 添加一個修飾符類modal-lg可以獲得一個更大的模態框,添加modal-sm可以獲得一個更小的模態框。
使用jQuery啟動模態框
模態框是jQuery插件,所以如果你想使用jQuery控制模態框的話,你需要在模態框的選擇器上呼叫.modal()方法。例如:
1 | $('#basicModal').modal(options);
|
登入後複製
這裡的「options」是可以傳遞給自訂行為的JavaScript物件。例如:
1 2 3 | var options = {
"backdrop" : "static"
}
|
登入後複製
可用的option包括:
backdrop:這可以是true或static。這定義你是否希望使用者能夠透過點擊背景來關閉模態。
keyboard:如果設定為true則模態框將透過ESC鍵關閉。
show:用於開啟和關閉模態框。它可以是true或false。
remote:這是最酷的選擇之一。它可以用於使用jQuery的load()方法載入遠端內容。你需要在此選項中指定外部頁面。預設為false。
Bootstrap模態框的事件
你可以透過使用在開啟和關閉模態框時觸發的各種事件來進一步自訂Bootstrap模態的普通行為。這些事件必須使用jQuery的.on()方法綁定。
可用的事件有:
show.bs.modal:在模態方塊開啟之前被觸發。
shown.bs.modal:在顯示模態框後觸發。
hide.bs.modal:在模態框被隱藏之前觸發。
hidden.bs.modal:在模態關閉後觸發。
loaded.bs.modal:使用上述的remote選項在遠端內容成功載入到模態框的內容區域時觸發。
你可以像這樣使用上述之一的事件:
1 2 3 | $('#basicModal').on('shown.bs.modal', function (e) {
alert('Modal is successfully shown!');
});
|
登入後複製
在模態方塊中載入遠端內容#
在Bootstrap模式中加载远程内容有三种不同的方法。
第一种方法,如上所述,是使用对象options中的remote选项。其他两种方式都是没有JavaScript的,如下所示。
你可以为模态框的触发元素中的href属性提供一个值。在我们的例子中,触发器是一个链接。例如,我们可以不使用我们之前提到的值#而将URL包含在特定页面中:
1 2 3 4 | <a class = "btn btn-lg btn-default"
data-toggle= "modal"
data-target= "#largeModal"
href= "remote-page.html" >Click to open Modal</a>
|
登入後複製
你还可以为触发元素提供data-remote的自定义数据属性,而不是使用href属性。例如:
1 2 3 | <a class = "btn btn-lg btn-default" data-toggle= "modal"
data-target= "#largeModal"
data-remote= "remote-page.html" >Click to open Modal</a>
|
登入後複製
结论
模态框是Bootstrap 3提供的最好的插件之一。对于初级设计师来说,它是不需要任何JavaScript代码而在弹出式画面中加载内容的最佳方式之一。
以上是bootstrap模態框有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!