Почему CSS2.1 определяет значения переполнения, отличные от «видимого», чтобы установить новый контекст форматирования блока?

Спецификация CSS2.1 требует, чтобы переполнение, отличное от visible, устанавливало новый «контекст форматирования блока». Мне кажется странным, что свойство, очевидное предназначение которого состоит в том, чтобы скрыть переполнение, не влияя на разметку, на самом деле существенно влияет на разметку.

Кажется, что значения переполнения, отличные от visible, объединяют две совершенно не связанные функции: создается ли BFC и скрывается ли переполнение. Это не значит, что «overflow:hidden» совершенно бессмысленно без BFC, потому что исторически плавающие элементы могут переполнять свой родительский элемент, скрытие переполнения без изменения макетакажется разумным.

Каковы причины этого решения, если они известны? Описали ли люди, работавшие над спецификацией, почему было принято такое решение?

58
задан Community 23 May 2017 в 01:54
поделиться