Diese Frage kommt aus this existing question, die ich eine Lösung zur Verfügung stellte, konnte aber keine Erklärung dafür geben, warum.Wie werden `display: table-cell` Breiten berechnet?
ich ihre Geige bis auf die nackten Knochen und haben folgende HTML/CSS gestrippt haben:
<div class="table">
<span class="cell-1">cell 1</span>
<span class="cell-2">cell 2</span>
</div>
.table {
display: table;
}
.cell-1, .cell-2 {
display: table-cell;
padding: 6px 12px;
border: 1px solid #ccc;
}
.cell-1 {
padding: 6px 12px;
background-color: #eee;
border-right: 0;
border-radius: 4px 0 0 4px;
width: 1%; /* *** FOCUS HERE *** */
}
.cell-2 {
border-radius: 0 4px 4px 0;
}
Nur .cell-1
eine Breite hat, und das ist 1%. This is the result (fiddle link):
Wenn ich dann die Breite des .cell-1
auf einen Wert erhöhen, wo es ist breiter als Inhalt ist, sagen 10% (ich glaube, dass das Muster irgendwie ist), dann zweite Zelle schmäler wird. Warum? Woher kommt diese Breite? This is the result (fiddle link).
Wenn ich das zweite Beispiel dann nehmen, sondern fügen width: 100%
zum .table
dann wieder zurück auf 100% geht. Here's the result of that (fiddle link).
Ich bin sicher, es gibt eine logische Erklärung, aber ich sehe es einfach nicht. Jemand?
Ok, meine gelöscht und +1, kann ich den Unterschied sehen ... –
Demo-Seite - http://jsfiddle.net/vsync/UGFX4/ – vsync