Por que não temos box-sizing: margin-box;? Normalmente, quando colocamos box-sizing: border-box;em nossas folhas de estilo, realmente queremos dizer o primeiro.
Exemplo:
Digamos que eu tenha um layout de página de 2 colunas. Ambas as colunas têm uma largura de 50%, mas parecem feias porque não há sarjeta (lacuna no meio); Abaixo está o CSS:
.col2 {
width: 50%;
float: left;
}
Para aplicar uma calha, você pode pensar que podemos definir uma margem certa na primeira das 2 colunas; algo assim:
.col2:first-child {
margin-right: 24px;
}
Mas isso faria a segunda coluna se agrupar em uma nova linha, porque o seguinte é verdadeiro:
50% + 50% + 24px > 100%
box-sizing: margin-box;resolveria esse problema incluindo margem na largura calculada do elemento. Eu consideraria isso muito útil se não mais útil que box-sizing: border-box;.
border: xxx solid transparent;, pois a borda está incluída no border-box. Isso vai quebrar algumas outras coisas, como box-shadow.
box-sizing: margin-boxporque não funcionaria com o colapso da margem.
box-sizing: margin-box;?" Porque, embora as margens horizontais não colapsem, essa proposição interferiria seriamente no colapso vertical das margens. De qualquer forma, se você deseja propor algo para padronização, o Stack Overflow não é o lugar certo. Experimente as listas de discussão.