Хотя решение @ cletus является технически правильным, установка переполнения на любое значение, отличное от overflow: visible
(по умолчанию), initial
(явно используется по умолчанию) или inherit
с visible
parent приведет к тому, что элемент создаст новый контекст форматирования блока . Контекст форматирования блока - это область, в которой плавающие элементы могут взаимодействовать с блоками. Эта ситуация (плавающий элемент внутри элемента non-overflow: visible) явно указана как причина необходимости создания нового контекста:
"если поплавок пересекается с элементом прокрутки, он принудительно перемотает содержимое. Повторная перестановка произойдет после каждого шага прокрутки, что приведет к медленной прокрутке." - МДН
В результате высота будет пересчитана для любых непосредственных детей в этом новом контексте, и их высота будет включена.
Я предпочитаю использовать overflow: auto
для достижения этой цели, когда могу, но scroll
, overlay
или hidden
приведут к желаемому результату, включая плавание в вычислении высоты родительского элемента. .