Description
Suggestion
A way to force a child element to appear visible outside of a hidden overflow container.
Example use case
I have a modal element with rounded borders. Because this modal contains an image, I need to use overflow: hidden
in order to mask the image inside of the modal element's border—so the image doesn't overflow the modal element's border.
This modal element contains another child element which should be allowed to overflow this element—an input with an autocomplete list. Unfortunately however, the overflow: hidden
prevents all children from overflowing, so the autocomplete list is clipped:
Here is a reduced test case:
https://jsbin.com/cuxabik/6/edit?html,css,output
What we want:
What we have:
I am not aware of any existing CSS features which solve this problem, but it's quite a common problem to have.
The autocomplete list could exist outside of the overflow container, but then you lose the ability to define its layout in terms of its parent.
Perhaps we could instruct the child element to appear visible outside of its overflow container:
.autocompleteList { container-overflow: visible; }
Related issues/articles
This problem has also been described here: https://css-tricks.com/popping-hidden-overflow/. (Their solution was to revert to JS for calculating layout.)
This problem is potentially related to: