ฉันคิดวิธีตอบสนองแบบ "เต็มหน้าจอ":
Modals แบบเต็มหน้าจอที่สามารถเปิดใช้งานในจุดพักบางอย่างเท่านั้น ด้วยวิธีนี้modal จะแสดง "ปกติ" บนหน้าจอที่กว้างขึ้น (เดสก์ท็อป) และเต็มหน้าจอบนหน้าจอขนาดเล็ก (แท็บเล็ตหรือมือถือ)ทำให้รู้สึกถึงแอพที่มีอยู่ในตัว
นำมาใช้สำหรับเงินทุน 3และเงินทุน 4
Bootstrap 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();
}
}
}
การสาธิตเกี่ยวกับ Codepen: https://codepen.io/andreivictor/full/MWYNPBV/
Bootstrap 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;
}
}
การสาธิตที่มีอยู่ใน Codepen: 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