From bbbda681ccf5c699e7d8ef89e837258087f307e5 Mon Sep 17 00:00:00 2001 From: Martijn Cuppens <martijn.cuppens@gmail.com> Date: Fri, 16 Aug 2019 11:49:06 +0200 Subject: [PATCH] Enable wrapping for elements in .modal-footer (#25103) --- scss/_modal.scss | 13 +++++++++---- scss/_variables.scss | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scss/_modal.scss b/scss/_modal.scss index 9942678ae8..bc08617c95 100644 --- a/scss/_modal.scss +++ b/scss/_modal.scss @@ -166,15 +166,20 @@ // Footer (for actions) .modal-footer { display: flex; + flex-wrap: wrap; align-items: center; // vertically center justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items - padding: $modal-inner-padding; + padding: $modal-inner-padding - $modal-footer-margin-between / 2; border-top: $modal-footer-border-width solid $modal-footer-border-color; @include border-bottom-radius($modal-content-inner-border-radius); - // Easily place margin between footer elements - > :not(:first-child) { margin-left: .25rem; } - > :not(:last-child) { margin-right: .25rem; } + // Place margin between footer elements + // This solution is far from ideal because of the universal selector usage, + // but is needed to fix https://github.com/twbs/bootstrap/issues/24800 + // stylelint-disable-next-line selector-max-universal + > * { + margin: $modal-footer-margin-between / 2; + } } // Measure scrollbar width for padding body during modal show/hide diff --git a/scss/_variables.scss b/scss/_variables.scss index cd8997e755..5a271b08a9 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -933,6 +933,9 @@ $badge-border-radius: $border-radius !default; // Padding applied to the modal body $modal-inner-padding: 1rem !default; +// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding +$modal-footer-margin-between: .5rem !default; + $modal-dialog-margin: .5rem !default; $modal-dialog-margin-y-sm-up: 1.75rem !default; -- GitLab