jay*_*hkv 8 javascript css modal-dialog twitter-bootstrap-3
我有一个模态弹出窗口(Bootstrap),它根据用户选择显示内容
这是我用来检查用户选择的javascript代码
PlayerMP.getFunctionalDetails = function (type, UserID, SessionID, SessionNo) {
$.ajax({
type: "GET",
url: PlayerMP.URL,
data: "rt=4&type=" + type + "&UserID=" + UserID + "&SessionID=" + SessionID + "&SessionNo=" + SessionNo,
success: function (FunctionalSplitsJS) {
if (FunctionalSplitsJS.indexOf("SessionExpired=1", 0) == -1) {
$("#divFunctionalDetails").html(FunctionalSplitsJS);
switch (type) {
case 1:
$("#divFunctionalsSplit"); //the table goes out of the modal window
break;
case 2:
TallyFunctionalSheet();
$("#divFunctionalsSplit");
break;
case 3:
$("#divFunctionalsSplit");
break;
}
$("#divFunctionalsSplit").modal('show');
}
else
window.location.href = "../Login.aspx?SessionExpired=1";
}
});
}
Run Code Online (Sandbox Code Playgroud)
table-responsive似乎工作)但是当我调整浏览器的大小时匹配平板电脑的宽度表/模态自动调整大小以匹配彼此.这是被调用的模态窗口的代码
<div class="modal fade" id="divFunctionalsSplit" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="table-responsive">
<div id="divFunctionalDetails"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Done</button>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)


Bas*_*sen 23
默认情况下,boottrap将.modal对话框的宽度设置为600px(大屏幕高于768像素)或自动(小屏幕).下面的代码覆盖了这个:
$('#myModal').on('shown.bs.modal', function () {
$(this).find('.modal-dialog').css({width:'auto',
height:'auto',
'max-height':'100%'});
});
Run Code Online (Sandbox Code Playgroud)
(基于:https://stackoverflow.com/a/16152629/2260496)
为了使其更加动态,您需要计算表的宽度(jQuery width()或innerwidth())并根据它设置模态对话框的宽度.
Ami*_*hah 14
这至少对我有用:
.modal-dialog{
position: relative;
display: table; /* <-- This makes the trick */
overflow-y: auto;
overflow-x: auto;
width: auto;
min-width: 300px;
}
Run Code Online (Sandbox Code Playgroud)