Prerequisites
Describe the issue
I am testing behavior of some modals that may have horizontal lists, whether actual horizontal list-groups (as in the repro case below) or a non-wrapping flex div of buttons. I'm using justify-content-center on the list-group/list element, which makes the list centered.
When the modal is too small, I expected a) the list to be still centered initially, and b) the modal to be scrollable to the sides to see the overflowing content.
What actually happens: a) the list is still centered ✔, but b) the modal can only be scrolled to the right, but not to the left ❌
(Alternatively, if a) the list was not centered ❌, but b) the modal could be scrolled to the overflowing content (to the right) ✔, this would be partially acceptable, because then the scroll problem can be solved with javascript. But prefer if bootstrap did that automatically.)
Reduced test cases
<div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-body">
<ul class="list-group list-group-horizontal justify-content-center">
<a href="#" class="list-group-item list-group-item-action">A simple default list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">A simple primary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-secondary">A simple secondary list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-success">A simple success list group item</a>
<a href="#" class="list-group-item list-group-item-action list-group-item-danger">A simple danger list group item</a>
</ul>
</div>
</div>
</div>
.list-group-item-action {
min-width: 150px !important;
}
Removing justify-content-center doesn't scroll to the modal margin but starts with the correct margin on the left:
The only good workaround I've found is to put min-width: fit-content on an element inside the body, which has to be on a wrapper element if I have multiple lists or the lists won't all be centered:
All these examples are in https://codepen.io/Zannick/pen/pvbNOGG
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
v5.3.7
Prerequisites
Describe the issue
I am testing behavior of some modals that may have horizontal lists, whether actual horizontal list-groups (as in the repro case below) or a non-wrapping flex div of buttons. I'm using
justify-content-centeron thelist-group/list element, which makes the list centered.When the modal is too small, I expected a) the list to be still centered initially, and b) the modal to be scrollable to the sides to see the overflowing content.
What actually happens: a) the list is still centered ✔, but b) the modal can only be scrolled to the right, but not to the left ❌
(Alternatively, if a) the list was not centered ❌, but b) the modal could be scrolled to the overflowing content (to the right) ✔, this would be partially acceptable, because then the scroll problem can be solved with javascript. But prefer if bootstrap did that automatically.)
Reduced test cases
Removing
justify-content-centerdoesn't scroll to the modal margin but starts with the correct margin on the left:The only good workaround I've found is to put
min-width: fit-contenton an element inside the body, which has to be on a wrapper element if I have multiple lists or the lists won't all be centered:All these examples are in https://codepen.io/Zannick/pen/pvbNOGG
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
v5.3.7