我尝试了以下方法:
<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')
结果不是我的预期 . 模态左上方位于屏幕中央 .
谁能帮我 . 有没有人试过这个 . 我认为这不是一件不寻常的事情 .
30 回答
UPDATE:
在
bootstrap 3
中,您需要更改模态对话框 . 因此,在这种情况下,您可以在modal-dialog
所在的位置添加类modal-admin
.Original Answer (Bootstrap < 3)
您是否有某种原因试图使用JS / jQuery更改它?
只需使用CSS即可轻松完成,这意味着您无需在文档中进行样式设置 . 在您自己的自定义CSS文件中,添加:
在你的情况下:
我把body放在选择器之前的原因是它比默认值具有更高的优先级 . 这样您就可以将其添加到自定义CSS文件中,而无需担心更新Bootstrap .
如果你想让它只用CSS响应,请使用:
注1:我使用了
.large
类,你也可以在正常.modal
上执行此操作注2:在Bootstrap 3中,可能不再需要使用负边距 (not confirmed personally)
注3:在Bootstrap 3和4中,有一个
modal-lg
类 . 所以这可能就足够了,但是如果你想让它响应,你仍然需要我为Bootstrap 3提供的修复 .在某些应用程序中使用
fixed
模式,在这种情况下你可以尝试width:80%; left:10%;
(公式:左= 100 - 宽度/ 2)如果您使用的是Bootstrap 3,则需要更改模态对话框div,而不是像接受的答案中所示的模态div . 此外,为了保持Bootstrap 3的响应特性,使用媒体查询编写覆盖CSS非常重要,因此模式在较小的设备上将是全宽的 .
请参阅this JSFiddle以试验不同的宽度 .
HTML
CSS
如果你想要一些不破坏相对设计的东西,试试这个:
正如@Marco Johannesen所说,选择器之前的“主体”使得它比默认值具有更高的优先级 .
在Bootstrap 3中,更改模式对话框大小的最合适方法是使用size属性 . 下面是一个例子,注意
modal-dialog
类的modal-sm
,表示一个小模态 . 它可以包含值sm
表示小,md
表示中,而lg
表示大 .对于
Bootstrap 3
,这是如何做到的 .在您的HTML标记中添加
modal-wide
样式(改编自the example in the Bootstrap 3 docs)并添加以下CSS
无需覆盖
Bootstrap 3
中的margin-left
以使其立即居中 .在 Bootstrap 3 所有你需要的就是这个
以上大多数答案对我没有用!!!
解决方案来自this页面
在Bootstrap的第3版中,有一种简单的方法可以使模态更大 . 只需在模态对话框旁边添加类 modal-lg 即可 .
Bootstrap 3:为了维护小型和小型设备的响应功能,我做了以下工作:
如果Bootstrap> 3,只需为你的模态添加样式 .
我发现这个解决方案对我来说效果更好 . 你可以用这个:
或者这取决于您的要求:
看到我发现的帖子:https://github.com/twitter/bootstrap/issues/675
这就是我所做的,在我的custom.css中,我添加了这些行,就是这样 .
显然,您可以更改宽度的大小 .
FYI Bootstrap 3自动处理左侧属性 . 因此,只需添加此CSS将更改宽度并使其保持居中:
保持响应式设计,将宽度设置为您想要的宽度 .
把事情简单化 .
改变类
model-dialog
可以达到预期的效果 . 这些小技巧对我有用 . 希望它能帮助您解决这个问题 .使用Bootstrap 3,所需的只是通过CSS给模态对话框的百分比值
CSS
我使用了CSS和jQuery的组合,以及此页面上的提示,使用Bootstrap 3创建流畅的宽度和高度 .
首先,一些CSS来处理内容区域的宽度和可选滚动条
然后一些jQuery根据需要调整内容区域的高度
完整的文章和代码http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/
在带有CSS的 Bootstrap 3 中,您可以使用:
这样可以确保您不使用
.modal-dialog
而不是.modal
,它甚至会应用于着色 .尝试类似下面的内容(请参阅此处的实时jsfiddle示例:http://jsfiddle.net/periklis/hEThw/1/)
我发现使用已经内置到引导程序中的列和其他响应元素可以获得更多控制,而不是使用百分比来使模式响应 .
To make the modal responsive/the size of any amount of columns:
1)在一个类的模态对话框div周围添加一个额外的div.container -
2)添加一点CSS以使模态全宽 -
3)如果你有其他模态,或者加一个额外的课程 -
4)如果你想要各种大小的模态,添加一行/列 -
在您的css文件中添加以下内容
使用下面的脚本:
Demo :
使用,达到预期的结果,
我为Bootstrap 4.1解决了这个问题
混合以前发布的解决方案
我用这种方式,这对我来说是完美的
Bootstrap 2的基于较少的解决方案(无js):
然后,无论您想要指定模态宽度,都可以:
我使用SCSS和完全响应模式:
要么
Below is the code for set the modal pop-up width and left position from the screen through javascript.
$('#openModalPopupId') . css({“width”:“80%”,“left”:“30%”});