Ответ 1
Он понимает это как состояние спецификации W3C. Для работы max-height
что-то другое, кроме самого содержимого, должно быть явно задано height
его содержащего элемента. Поэтому, когда вы устанавливаете height: 100%
, это работает, потому что теперь вы явно говорите .article
, чтобы взять его height
из своего родителя (а не его содержимого). Но когда у вас есть .article
с max-height
, то он по-прежнему является содержимым, выбивающим его расчетное значение height
, только с ограничением размера не прошедшего .container
height
. И в вашем случае это сам контент img
.
В этой скрипте вы можете видеть, что .article
фактически ограничивает себя height
of .container
, но позволяет содержимое (img
) для переполнения на большую высоту. img
не ограничен его max-height
, потому что .article
не имеет явного набора height
, но фактически получает его высоту от img
(только он ограничен, что он не может пройти мимо height
его контейнера).