Ответ 1
В bootstrap 3 вам нужно назначить ширину не классу .modal
, а <<21 >
#modalTest .modal-dialog
{
width: 500px; /* your width */
}
Мне нужно поддерживать IE8. Сам модальный работает отлично, но мои попытки изменить его размер (которые отлично работают в Firefox) не работают в IE8.
Я просто добавляю класс (широкоформатный в этом примере) в div modal-dialog (2-й вложенный в структуре Bootstrap) и применяя ширину через CSS, ничего необычного.
HTML:
<div class="modal fade" id="modalTest" role="dialog">
<div class="modal-dialog wide-modal">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Testing Modal</h4>
</div>
<div class="modal-body">
<img src="content/Example-Infographic.jpg" width="100%" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
CSS
.wide-modal {
width: 60%;
}
Я попробовал добавить класс в div сверху и снизу без эффекта (положительного). Он работает как шарм, где он находится в Firefox, и совсем не влияет на IE8. Я также пробовал с шириной px, без разницы. У меня действительно есть библиотека response.js, поэтому в целом IE8 ведет себя иначе, чем это.
В bootstrap 3 вам нужно назначить ширину не классу .modal
, а <<21 >
#modalTest .modal-dialog
{
width: 500px; /* your width */
}
Я использовал комбинацию CSS и jQuery вместе с подсказками на этой странице, чтобы создать ширину и высоту жидкости с помощью Bootstrap 3. Я также тестировал это на IE8 на Win7, и он отлично работает.
Во-первых, некоторые CSS для обработки ширины и дополнительной полосы прокрутки для области содержимого
.modal.modal-wide .modal-dialog {
width: 90%;
}
.modal-wide .modal-body {
overflow-y: auto;
}
И затем некоторый jQuery, чтобы при необходимости настроить высоту области содержимого
$(".modal-wide").on("show.bs.modal", function() {
var height = $(window).height() - 200;
$(this).find(".modal-body").css("max-height", height);
});
Полная запись и код на http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/
Я знаю, что поздно, но только что найденный в bs3 docs вы можете добавить класс modal-lg
к вашим модалам
<!-- Large modal -->
<button class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">
Large modal
</button>
<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
...
</div>
</div>
</div>
<!-- Small modal -->
<button class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">
Small modal
</button>
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
...
</div>
</div>
</div>
Это, конечно, изменит ширину для всех ваших модальных окон, но это может дать вам более полное представление о том, как это работает. Я просто изменил свои модальные окна таким образом.
.modal-body {
position: relative;
padding: 20px;
min-width: 800px; /* SET THE WIDTH OF THE MODAL */
}
.modal-content {
position: relative;
background-color: #fff;
border: 1px solid #999;
border: 1px solid rgba(0,0,0,0.2);
border-radius: 6px;
outline: 0;
-webkit-box-shadow: 0 3px 9px rgba(0,0,0,0.5);
box-shadow: 0 3px 9px rgba(0,0,0,0.5);
background-clip: padding-box;
width: 900px; /* SET THE WIDTH OF THE MODAL */
margin: 50px 0 0 -150px; /* CHANGE MARGINS TO ACCOMMODATE THE NEW WIDTH */
}
<!-- Button trigger modal -->
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg">Launch demo modal</a>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
#modalTest.modal-dialog{
width: <insert size> !important;
}
the !important is important :v
Я думаю, вам нужно установить ширину в пикселях и отрегулировать маржу слева. Например,
.modal-dialog {
width:700px;
margin-left:-320px;
}
Поля слева должны быть половиной ширины модального значения, минус 30 пикселей для полосы прокрутки.
Вот пример из Bootply: http://bootply.com/85213