更改引导模态宽度 - 仍然具有"hidden"宽度(内部用于解释)



我有一个引导模态,我将其宽度更改为 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 */
  }
}

最新更新