मैं फुलस्क्रीन मॉडल्स के लिए "उत्तरदायी" समाधान के साथ आया हूं:
फुलस्क्रीन मोडल जिन्हें केवल कुछ विशेष ब्रेकप्वाइंट पर ही सक्षम किया जा सकता है । इस तरह यह मोडल (डेस्कटॉप) स्क्रीन पर "सामान्य" और छोटे (टैबलेट या मोबाइल) स्क्रीन पर फुलस्क्रीन प्रदर्शित करेगा , जो इसे एक मूल ऐप की भावना देता है।
बूटस्ट्रैप 3 और बूटस्ट्रैप 4 के लिए लागू किया गया ।
बूटस्ट्रैप v4
निम्नलिखित सामान्य कोड काम करना चाहिए:
.modal {
padding: 0 !important; // override inline padding-right added from js
}
.modal .modal-dialog {
width: 100%;
max-width: none;
height: 100%;
margin: 0;
}
.modal .modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal .modal-body {
overflow-y: auto;
}
नीचे दिए गए scss कोड को शामिल करके, यह निम्नलिखित वर्गों को उत्पन्न करता है जिन्हें .modalतत्व में जोड़ने की आवश्यकता होती है :
+---------------+---------+---------+---------+---------+---------+
| | xs | sm | md | lg | xl |
| | <576px | ≥576px | ≥768px | ≥992px | ≥1200px |
+---------------+---------+---------+---------+---------+---------+
|.fullscreen | 100% | default | default | default | default |
+---------------+---------+---------+---------+---------+---------+
|.fullscreen-sm | 100% | 100% | default | default | default |
+---------------+---------+---------+---------+---------+---------+
|.fullscreen-md | 100% | 100% | 100% | default | default |
+---------------+---------+---------+---------+---------+---------+
|.fullscreen-lg | 100% | 100% | 100% | 100% | default |
+---------------+---------+---------+---------+---------+---------+
|.fullscreen-xl | 100% | 100% | 100% | 100% | 100% |
+---------------+---------+---------+---------+---------+---------+
Scss कोड है:
@mixin modal-fullscreen() {
padding: 0 !important; // override inline padding-right added from js
.modal-dialog {
width: 100%;
max-width: none;
height: 100%;
margin: 0;
}
.modal-content {
height: 100%;
border: 0;
border-radius: 0;
}
.modal-body {
overflow-y: auto;
}
}
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-down($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.modal-fullscreen#{$infix} {
@include modal-fullscreen();
}
}
}
कोडपेन पर डेमो: https://codepen.io/andreivictor/full/MWYNPBV/
बूटस्ट्रैप v3
इस विषय (@Chris J, @kkarli) पर पिछली प्रतिक्रियाओं के आधार पर, निम्न जेनेरिक कोड को काम करना चाहिए:
.modal {
padding: 0 !important; // override inline padding-right added from js
}
.modal .modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal .modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
box-shadow: none;
}
यदि आप उत्तरदायी फ़ुलस्क्रीन मोडल का उपयोग करना चाहते हैं, तो निम्न वर्गों का उपयोग करें जिन्हें .modalतत्व में जोड़ने की आवश्यकता है :
.modal-fullscreen-md-down- मोडल स्क्रीन से छोटे स्क्रीन के लिए फुलस्क्रीन है 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;
box-shadow: none;
}
}
/* 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;
box-shadow: none;
}
}
/* 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;
box-shadow: none;
}
}
डेमो कोडपेन पर उपलब्ध है: https://codepen.io/andreivictor/full/KXNdoO ।
जो एक पूर्वप्रक्रमक के रूप में Sass का उपयोग करते हैं, वे निम्नलिखित मिश्रण का लाभ उठा सकते हैं:
@mixin modal-fullscreen() {
padding: 0 !important; // override inline padding-right added from js
.modal-dialog {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
.modal-content {
height: auto;
min-height: 100%;
border: 0 none;
border-radius: 0;
box-shadow: none;
}
}
margin: 0करने के लिए.modal-dialog।