Warum haben wir nicht box-sizing: margin-box;
? Wenn wir box-sizing: border-box;
unsere Stylesheets einfügen, meinen wir normalerweise erstere.
Beispiel:
Angenommen, ich habe ein zweispaltiges Seitenlayout. Beide Säulen haben eine Breite von 50%, sehen aber irgendwie hässlich aus, weil es keine Rinne gibt (Lücke in der Mitte); Unten ist das CSS:
.col2 {
width: 50%;
float: left;
}
Um eine Dachrinne anzubringen, könnten Sie denken, wir könnten einfach einen rechten Rand für die erste der beiden Spalten festlegen. etwas wie das:
.col2:first-child {
margin-right: 24px;
}
Dies würde jedoch dazu führen, dass die zweite Spalte in eine neue Zeile umgebrochen wird, da Folgendes zutrifft:
50% + 50% + 24px > 100%
box-sizing: margin-box;
würde dieses Problem lösen, indem der Rand in die berechnete Breite des Elements aufgenommen wird. Ich würde dies sehr nützlich finden, wenn nicht nützlicher als box-sizing: border-box;
.
border: xxx solid transparent;
, indem Sie den Rahmen in verwenden border-box
. Dies wird jedoch einige andere Dinge zerstören, wie z box-shadow
.
box-sizing: margin-box
weil sie nicht mit einem Zusammenbruch der Margen funktionieren würde.
box-sizing: margin-box;
?" Denn während horizontale Ränder nicht kollabieren, würde ein solcher Vorschlag den Kollaps vertikaler Ränder ernsthaft beeinträchtigen. Wenn Sie etwas für die Standardisierung vorschlagen möchten, ist der Stapelüberlauf nicht der richtige Ort. Probieren Sie die Mailinglisten aus.