Почему мы не имеем box-sizing: margin-box;
? Обычно, когда мы помещаем box-sizing: border-box;
в наши таблицы стилей, мы действительно имеем в виду первое.
Пример:
Скажем, у меня есть макет страницы с двумя столбцами. Оба столбца имеют ширину 50%, но выглядят уродливо, потому что нет ни одного водостока (промежуток посередине); Ниже приведен CSS:
.col2 {
width: 50%;
float: left;
}
Чтобы применить водосточный желоб, вы можете подумать, что мы могли бы просто установить правый край в первом из двух столбцов; что-то вроде этого:
.col2:first-child {
margin-right: 24px;
}
Но это приведет к тому, что второй столбец будет перенесен на новую строку, потому что верно следующее:
50% + 50% + 24px > 100%
box-sizing: margin-box;
разрешит эту проблему, включив маржу в вычисленную ширину элемента. Я бы нашел это очень полезным, если не более полезным, чем box-sizing: border-box;
.