css display table cell benötigt eine prozentuale Breite

Ich wurde in eine Position versetzt, in der ich den Befehl display: table-cell für div-Elemente verwenden muss.

Ich habe jedoch festgestellt, dass die "Zellen" nur dann korrekt funktionieren, wenn ein Prozentsatz zur Breite hinzugefügt wird.

In dieser Geigehttp://jsfiddle.net/NvTdw/ Wenn ich die prozentuale Breite entferne, sind die Zellen nicht gleich breit. Wenn jedoch ein prozentualer Wert zur Breite hinzugefügt wird, ist alles in Ordnung, aber nur, wenn dieser Prozentsatz dem Anteil von max no of divs entspricht, also für vier Spalten 25%. fünf 20% und in diesem Fall fünf 16,666%.

Ich dachte, vielleicht würde ein Prozentsatz von weniger hinzugefügt - sagen wir, 1% wäre eine gute Lösung, aber die Zellen fallen wieder aus der Reihe.

Warum ist das?

    .table {
      display: table;
      height: 200px;
      width: 100%;
    }

    .cell {
      display: table-cell;
      height: 100%;
      padding: 10px;
      width: 16.666%;
    }

    .grey {
      background-color: #666;
      height: 100%;
      text-align: center;
      font-size: 48px;
      color: #fff;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: 300;
    }
<div class="table">
  <div class="cell">
    <div class="grey">Block one</div>
  </div>
  <div class="cell">
    <div class="grey">Block two</div>
  </div>
  <div class="cell">
    <div class="grey">Block three</div>
  </div>
</div>
<div class="table">
  <div class="cell">
    <div class="grey">Block</div>
  </div>
  <div class="cell">
    <div class="grey">Block two</div>
  </div>
</div>
<div class="table">
  <div class="cell">
    <div class="grey">Block one</div>
  </div>
  <div class="cell">
    <div class="grey">Block two</div>
  </div>
  <div class="cell">
    <div class="grey">Block three</div>
  </div>
  <div class="cell">
    <div class="grey">Block four</div>
  </div>
</div>
<div class="table">
  <div class="cell">
    <div class="grey">x</div>
  </div>
  <div class="cell">
    <div class="grey">xx</div>
  </div>
  <div class="cell">
    <div class="grey">xxx</div>
  </div>
  <div class="cell">
    <div class="grey">xxxx</div>
  </div>
  <div class="cell">
    <div class="grey">xxxxxx</div>
  </div>
  <div class="cell">
    <div class="grey">Block five test</div>
  </div>
</div>
<div class="table">
  <div class="cell">
    <div class="grey">Block</div>
  </div>
  <div class="cell">
    <div class="grey">Block two</div>
  </div>
  <div class="cell">
    <div class="grey">Block three</div>
  </div>
</div>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage