溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

bootstrap modal是什么意思

發(fā)布時(shí)間:2021-11-05 15:45:26 來(lái)源:億速云 閱讀:167 作者:柒染 欄目:web開(kāi)發(fā)

bootstrap modal是什么意思,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

在bootstrap中,modal指的是“模態(tài)框”,是覆蓋在父窗體上的子窗體;其目的是顯示來(lái)自一個(gè)單獨(dú)的源的內(nèi)容,可以在不離開(kāi)父窗體的情況下有一些互動(dòng)。模態(tài)框可為網(wǎng)站添加醒目的提示和交互,用于通知用戶(hù)、訪客交互、消息警示或自定義的內(nèi)容交互。

本教程操作環(huán)境:Windows7系統(tǒng)、bootsrap3.3.7版、DELL G3電腦

模態(tài)框(Modal)是覆蓋在父窗體上的子窗體。通常,目的是顯示來(lái)自一個(gè)單獨(dú)的源的內(nèi)容,可以在不離開(kāi)父窗體的情況下有一些互動(dòng)。子窗體可提供信息、交互等。

Bootstrap彈出模態(tài)框樣式

使用Bootstrap的JavaScript模態(tài)框插件可以為您的網(wǎng)站添加醒目的提示和交互,用于通知用戶(hù)、訪客交互、消息警示或自定義的內(nèi)容交互。

關(guān)閉模態(tài)框:

  • 點(diǎn)擊右上角的x

    bootstrap modal是什么意思

  • 點(diǎn)擊右下角的關(guān)閉按鈕

    bootstrap modal是什么意思

  • 點(diǎn)擊遮罩層

運(yùn)行原理

  • 彈出模態(tài)框是用HTML、CSS和Javascript構(gòu)建的,它們位于文檔中其它表現(xiàn)元素之上,并從<body>中刪除滾動(dòng)事件,以便模態(tài)框自身的內(nèi)容能得到滾動(dòng)。

  • 點(diǎn)擊模態(tài)框的“backdrop”(灰背景區(qū)域),將自動(dòng)關(guān)閉動(dòng)態(tài)模塊框。

  • Bootstrap一次只支持一個(gè)模態(tài)窗口,不支持嵌套模式,因?yàn)槟菢盈B加會(huì)造成用戶(hù)體驗(yàn)不佳。

  • 模態(tài)框使用 position: fixed,在呈現(xiàn)上與其它元素相比有很大不同。請(qǐng)盡可能將彈出模態(tài)框的HTML放在頂級(jí)位置,以避免其它元素干擾,尤其是當(dāng)另一個(gè)固定元素中也定義了 .modal 事件時(shí),你可能會(huì)遇到問(wèn)題。

  • 同樣是受position: fixed屬性影響,在在移動(dòng)設(shè)備上使用模態(tài)框,有一些注意事項(xiàng)。

  • 根據(jù)HTML5的語(yǔ)義定義,autofocusHTML 屬性對(duì) Bootstrap 模態(tài)框沒(méi)有影響,要達(dá)到同樣的效果,需要使用一些JavaScript。

普通模態(tài)框

  • .modal:模態(tài)框的最外層容器。

  • .modal-dialog:模態(tài)框的容器。

  • .modal-content:放置模態(tài)框的內(nèi)容,設(shè)置模態(tài)框樣式。

  • .modal-header:模態(tài)框頭部。

  • .modal-title:模態(tài)框標(biāo)題。

  • .modal-body:模態(tài)框主體內(nèi)容。

  • .modal-footer:模態(tài)框頁(yè)腳內(nèi)容。

<div class="modal fade" id="modal1">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>

<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-primary" data-toggle="modal" data-target="#modal1">普通的模態(tài)框</button>
		</div>
	</div>
</div>

bootstrap modal是什么意思

有滾動(dòng)條的模態(tài)框

當(dāng)用戶(hù)viewport 視口(彈出內(nèi)容區(qū))或設(shè)備的模態(tài)變得較長(zhǎng)時(shí),它們會(huì)自動(dòng)滾動(dòng)頁(yè)面。

<div class="modal fade" id="modal1">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
				<p>ur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>

			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-primary" data-toggle="modal" data-target="#modal1">有滾動(dòng)條的模態(tài)框</button>
		</div>
	</div>
</div>

bootstrap modal是什么意思

垂直居中的模態(tài)框

將.modal-dialog-centered添加到.modal-dialog對(duì)話(huà)框以垂直居中模式。

<!-- 垂直居中的模態(tài)框 -->
<div class="modal fade" id="modal2">
	<div class="modal-dialog modal-dialog-centered">	<!-- modal-dialog-centered這個(gè)class要加在這里 -->
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
					垂直居中的模態(tài)框
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-secondary" data-toggle="modal" data-target="#modal2">垂直居中的模態(tài)框</button>
		</div>
	</div>
</div>

bootstrap modal是什么意思

包含柵格系統(tǒng)的模態(tài)框

在.modal-body中加入.container-fluid柵格系統(tǒng),可以在動(dòng)態(tài)視窗中使用Bootsrap柵格系統(tǒng),并在任何地方使用正常的柵格系統(tǒng)class定義。

<!-- 使用柵格系統(tǒng) -->
<div class="modal fade" id="modal3">
	<div class="modal-dialog modal-dialog-centered">	<!-- modal-dialog-centered這個(gè)class要加在這里 -->
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				<div class="container-fluid">
					<div class="row">
						<div class="col-md-4 bg-info border">第1列</div>
						<div class="col-md-4 bg-info border">第2列</div>
						<div class="col-md-4 bg-info border">第3列</div>
						<div class="col-md-12 bg-info border">第4列</div>
					</div>
					<div class="row">
						<div class="col bg-info border">第1列</div>
						<div class="col bg-info border">第2列</div>
						<div class="col bg-info border">第3列</div>
						<div class="col bg-info border">第4列</div>
					</div>
					<div class="row">
						<div class="col-md-5 bg-info">第1列</div>
						<div class="col-md-4 bg-info ml-auto">第2列</div>
					</div>
					<div class="row mt-3">
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
						<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-12  bg-info border">超大屏6個(gè),大屏4個(gè),中等屏3個(gè),小屏2個(gè),超小屏1個(gè)</div>
					</div>
				</div>
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-danger" data-toggle="modal" data-target="#modal3">包含柵格系統(tǒng)的模態(tài)框</button>
		</div>
	</div>
</div>

bootstrap modal是什么意思

模態(tài)框的尺寸

在.modal-dialog中加入模態(tài)框尺寸。

class描述Modal max-width
.modal-xl超大尺寸1140px
.modal-lg大尺寸800px
none(默認(rèn))默認(rèn)尺寸500px
.modal-sm小尺寸300px
<!-- 尺寸大小-超大尺寸 -->
<div class="modal fade bd-example-modal-xl" id="modal5">	<!-- 這里添加.bd-example-modal-xl -->
	<div class="modal-dialog modal-xl">	<!-- 這里添加.modal-xl -->
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				超大尺寸模態(tài)框
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<!-- 尺寸大小-大尺寸 -->
<div class="modal fade bd-example-modal-lg" id="modal6">	<!-- 這里添加.bd-example-modal-lg -->
	<div class="modal-dialog modal-lg">	<!-- 這里添加.modal-lg -->
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				大尺寸模態(tài)框
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<!-- 尺寸大小-小尺寸 -->
<div class="modal fade bd-example-modal-sm" id="modal7">	<!-- 這里添加.bd-example-modal-sm -->
	<div class="modal-dialog modal-sm">	<!-- 這里添加.modal-sm -->
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				小尺寸模態(tài)框
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>

<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-info" data-toggle="modal" data-target="#modal5">超大尺寸模態(tài)框</button>
			<button class="btn btn-info" data-toggle="modal" data-target="#modal6">大尺寸模態(tài)框</button>
			<button class="btn btn-info" data-toggle="modal" data-target="#modal7">小尺寸模態(tài)框</button>
		</div>
	</div>
</div>

使用數(shù)據(jù)屬性

data屬性,需要添加在button身上。

  • data-backdrop 是否顯示遮罩層

  • data-keyboard 按esc是否關(guān)閉模態(tài)框

  • data-focus 讓模態(tài)框獲取到焦點(diǎn)

  • data-show 初始化時(shí)模態(tài)框是否顯示

<!-- data屬性 -->
<div class="modal fade" id="modal8">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<h6 class="modal-title">標(biāo)題</h6>
				<button class="close" data-dismiss="modal">
					<span>&times;</span>
				</button>
			</div>
			<div class="modal-body">
				data屬性
			</div>
			<div class="modal-footer">
				<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
				<button class="btn btn-primary">保存</button>
			</div>
		</div>
	</div>
</div>
<div class="container">
	<div class="row mt-5">
		<div class="col">
			<button class="btn btn-dark" data-toggle="modal" data-target="#modal8" data-backdrop="true" data-keyboard="false" data-focus="true" data-show="false">data屬性</button>
		</div>
	</div>
</div>

JavaScript方法事件

方法:

  • .modal(options):激活您的內(nèi)容作為模態(tài),將選項(xiàng)加入到object內(nèi)。

  • .modal('toggle'):手動(dòng)切換動(dòng)態(tài)模態(tài)框,在動(dòng)態(tài)模態(tài)框?qū)嶋H顯示或隱藏之前返回給調(diào)用者(即在shown.bs.modal或hidden.bs.modal事件發(fā)生之前)。

  • .modal('show'):手動(dòng)打開(kāi)動(dòng)態(tài)模態(tài)框,在動(dòng)態(tài)模態(tài)框?qū)嶋H顯示之前返回給調(diào)用者(即在shown.bs.modal事件發(fā)生前)。

  • .modal('hide'):手動(dòng)隱藏動(dòng)態(tài)模態(tài)框,在動(dòng)態(tài)模態(tài)框?qū)嶋H隱藏之前返回給調(diào)用者(即在hidden.bs.modal事件發(fā)生前)。

事件:

  • show.bs.modal:

    當(dāng)調(diào)用show實(shí)例方法時(shí),會(huì)立即觸發(fā)該事件。如果是由點(diǎn)擊引起的,被點(diǎn)擊的元素是可用的,成為Event對(duì)象的relatedTarget屬性。

  • shown.bs.modal:="normal" data-row-style="normal">

    當(dāng)模態(tài)框?qū)τ脩?hù)來(lái)說(shuō)可見(jiàn)時(shí)(需要等待CSS過(guò)渡完成),會(huì)觸發(fā)該事件。如果是由點(diǎn)擊引起的,被點(diǎn)擊的元素是可用的,成為Event對(duì)象的relatedTarget屬性。

  • hide.bs.modal:當(dāng)調(diào)用hide實(shí)例方法時(shí),會(huì)立即觸發(fā)該事件。

  • hidden.bs.modal:

    當(dāng)模態(tài)框?qū)τ脩?hù)來(lái)說(shuō)終于完成隱藏時(shí)(需要等待CSS過(guò)渡完成),會(huì)觸發(fā)該事件。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>Bootstrap彈出模態(tài)框樣式</title>
</head>
<body>
<!-- 方法與事件 -->
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">標(biāo)題</h6>
<button class="close" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body">
data屬性
</div>
<div class="modal-footer">
<button class="btn btn-secondary" data-dismiss="modal">關(guān)閉</button>
<button class="btn btn-primary">保存</button>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row mt-5">
<div class="col">
<button class="btn btn-warning" id="myBtn">方法與事件</button>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
<script>
//方法
$('#myBtn').click(function(){
$('#myModal').modal('show');
});
/* $('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
},2000); */
//事件
$('#myModal').on('show.bs.modal', function (e) {
console.log('顯示前');
});
$('#myModal').on('shown.bs.modal', function (e) {
console.log('完全顯示了');
});
$('#myModal').on('hide.bs.modal', function (e) {
console.log('隱藏前');
});
$('#myModal').on('hidden.bs.modal', function (e) {
console.log('完全隱藏了');
});
</script>
</body>
</html>

bootstrap modal是什么意思

關(guān)于bootstrap modal是什么意思問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI