我尝试了以下方法:
<div class="modal hide fade modal-admin" id="testModal" style="display: none;">
<div class="modal-header">
<a data-dismiss="modal" class="close">×</a>
<h3 id='dialog-heading'></h3>
</div>
<div class="modal-body">
<div id="dialog-data"></div>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn" >Close</a>
<a class="btn btn-primary" id="btnSaveChanges">Save changes</a>
</div>
</div>
这段Javascript:
$('.modal-admin').css('width', '750px');
$('.modal-admin').css('margin', '100px auto 100px auto');
$('.modal-admin').modal('show')
结果不是我预料的那样。模态的左上角位于屏幕的中心。
有人能帮帮我吗?有人试过吗?我想这是一件很平常的事。
如果你正在使用Bootstrap 3,你需要改变模态对话框div,而不是模态div,就像在接受的答案中显示的那样。此外,为了保持Bootstrap 3的响应性,使用媒体查询编写覆盖CSS是很重要的,这样在较小的设备上模式将是全宽的。
请参阅这个JSFiddle来尝试不同的宽度。
HTML
<div class="modal fade">
<div class="modal-dialog custom-class">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-header-text">Text</h3>
</div>
<div class="modal-body">
This is some text.
</div>
<div class="modal-footer">
This is some text.
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
CSS
@media screen and (min-width: 768px) {
.custom-class {
width: 70%; /* either % (e.g. 60%) or px (400px) */
}
}
更新:
在引导3中,你需要改变模式对话框。
所以在这种情况下,你可以在modal-dialog所在的位置添加类modal-admin。
原始答案(Bootstrap < 3)
是否有特定的原因,你试图改变它与JS/jQuery?
只需CSS就可以轻松完成,这意味着您不必在文档中进行样式化。
在您自己的自定义CSS文件中,您添加:
body .modal {
/* new custom width */
width: 560px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -280px;
}
在你的情况下:
body .modal-admin {
/* new custom width */
width: 750px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -375px;
}
我把body放在选择器之前的原因是,它的优先级比默认值更高。通过这种方式,您可以将其添加到自定义CSS文件中,并且无需担心更新Bootstrap。
如果你想让它只响应CSS,使用这个:
.modal.large {
width: 80%; /* respsonsive width */
margin-left:-40%; /* width/2) */
}
注1:我使用了一个.large类,你也可以在正常的.modal上这样做
注2:在Bootstrap 3中,左边的负边距可能不再需要了(未经个人确认)
/*Bootstrap 3*/
.modal.large {
width: 80%;
}
注3:在Bootstrap 3和4中,有一个modal-lg类。所以这可能是足够的,但如果你想让它响应,你仍然需要我为Bootstrap 3提供的修复。
在一些应用程序中使用固定模式,在这种情况下,你可以尝试width:80%;左:10%;(公式:left = 100 - width / 2)