на основе предыдущих ответов на эту тему (J @ Крис, @kkarli), я придумал «отзывчивым» решение для полноэкранных модальностей :
Модификации в полноэкранном режиме, которые могут быть включены только на определенных контрольных точках. Таким образом, модальный будет отображать «обычные» на более широких (настольных) экранах и полноэкранном режиме на небольших (планшетах или мобильных) экранах, придавая ему ощущение родного приложения.
Я создал следующие классы, которые должны быть добавлены к .modal
элементу:
.modal-fullscreen-md-down
- модальный является Fullscreen для экранов меньшего размера, чем 1200px
.
.modal-fullscreen-sm-down
- модальный полноэкранный режим для экранов размером менее 922px
.
.modal-fullscreen-xs-down
- модальный полноэкранный режим для экрана, меньшего, чем 768px
.
Взгляните на следующий код:
/* Extra small devices (less than 768px) */
@media (max-width: 767px) {
.modal-fullscreen-xs-down {
padding: 0 !important;
}
.modal-fullscreen-xs-down .modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal-fullscreen-xs-down .modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
}
}
/* Small devices (less than 992px) */
@media (max-width: 991px) {
.modal-fullscreen-sm-down {
padding: 0 !important;
}
.modal-fullscreen-sm-down .modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal-fullscreen-sm-down .modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
}
}
/* Medium devices (less than 1200px) */
@media (max-width: 1199px) {
.modal-fullscreen-md-down {
padding: 0 !important;
}
.modal-fullscreen-md-down .modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal-fullscreen-md-down .modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
}
}
Демо доступно на Codepen: https://codepen.io/andreivictor/full/KXNdoO.
Те, кто использует Sass как препроцессор может воспользоваться следующем Mixin:
@mixin modal-fullscreen() {
padding: 0 !important;
.modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
}
}
Я также добавил бы «margin: 0' в' .modal-dialog'. – harrison4
BTW: «.modal-content' 'hight break, когда контент переполняется внизу и прокручивается вниз. Это должно быть 'min-height: 100%; height: auto; ' –
Если вы разрабатываете для мобильного приложения, вы можете поместить CSS CSS Криса в медиа-запрос, чтобы иметь стандартную ширину для широких экранов @media (max-width: 768px) {...} –