Я могу придумать 2 причины:
1) старая «блочная модель» IE действительно нестабильна, поэтому, когда у вас есть элемент со стилем {width: 300px; отступы: 30 пикселей; margin: 20px;} его контур может фактически не соответствовать ожидаемым 400px (размер 300 px, плюс 2 30px отступа, плюс 2 20 px margin. Я думаю, что его фактическая ширина будет 340, так как он сворачивает заполнение в вычисление ширины .
, который приносит ... ... 1005 *
2) Некоторые люди находят вычисления немного запутанными.
Тем не менее, я лично использую ширину вместе с отступами и полями, и у меня нет проблем с этим. Если вы ограничиваете себя в том, чтобы не использовать ширину при использовании отступов / полей, это означает, что вы добавляете в свой код множество несемантических ошибок. Это означает, что вы должны знать, что различные браузеры собираются делать с элементом, но именно поэтому мы проводим тестирование.