我有一个引导模态,我将其宽度更改为 50%,但是当我在模态之外单击时,我无法关闭模态,似乎 100% 宽度仍然"在那里"。
例如,打开普通模态并在它外面单击会关闭它,因为它占用了 ui 显示的确切空间。
当我将宽度设置为 50% 时,通过在模态外部单击的"关闭空间"没有改变,就好像它仍然是 100%。
我该如何解决它?下面有一个例子来说明我的意思。
如果您使用Chrome,则可以检查<div class="modal-content" style="width: 50%;">
元素并查看"隐藏"宽度。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<ul>
<li><a href="#" data-toggle="modal" data-target="#width_normal">Normal</a></li>
<li><a href="#" data-toggle="modal" data-target="#width_half">Width 50%</a></li>
</ul>
<div class="modal fade" id="width_half" role="dialog">
<div class="modal-dialog">
<div class="modal-content" style="width: 50%;">
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
</div>
</div>
</div>
<div class="modal fade" id="width_normal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
<div>TEST</div>
</div>
</div>
</div>
</body>
</html>
您必须更改.modal-dialog
CSS(不是 .modal-content
),如果您想拥有原始 Bootstrap 大小的 50%,您可以将默认值除以 2,如下所示:
@media (min-width: 768px) {
.modal-dialog {
width: 300px; /* Bootstrap default - 600px */
}
.modal-sm {
width: 150px; /* Bootstrap default - 300px */
}
}
@media (min-width: 992px) {
.modal-lg {
width: 450px; /* Bootstrap default - 900px */
}
}