css显示表格单元格需要百分比宽度

Unt*_*hic 57 html css css-tables

我已被置于需要使用display:table-cell命令的div元素的位置.

但是我发现只有将百分比添加到宽度时,"单元格"才能正常工作.

在这个小提琴http://jsfiddle.net/NvTdw/当我删除百分比宽度时,单元格没有相等的宽度,但是当一个百分比值被添加到宽度时一切都很好,但只有当该百分比等于div的最大数量的比例,因此四列25%,五个20%,在这种情况下五个在16.666%.

我想可能会增加一个百分比 - 比如1%将是一个很好的修复所有,但细胞再次脱离线.

为什么是这样?

    .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;
    }
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

And*_*ges 107

你只需要添加'table-layout:fixed;'

.table {
   display: table;
   height: 100px;
   width: 100%;
   table-layout: fixed;
}
Run Code Online (Sandbox Code Playgroud)

http://www.w3schools.com/cssref/pr_tab_table-layout.asp

  • 谢谢安德烈,这要好得多.百分比值显然是我不应该走的路径.我还注意到添加vertical-align:top; 在添加"正确"文本或内容时,对单元类避免了填充和边距问题. (2认同)