【问题标题】:CSS: Overflowing HTML tableCSS:溢出的 HTML 表格
【发布时间】:2020-09-13 06:06:03
【问题描述】:

我正在处理一个 HTML 小表格,如下所示:

.table {
  max-height: 160px;
  display: block;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  overflow: auto;
  border: 1px solid gray;
}

.table-body {
  max-height: 100%;
}

.row {
  width: 100%;
  display: block;
}

.row.headers {
  background: #ddd;
  font-weight: 600;
  position: sticky;
  top: 0;
}

.row:nth-child(2n) {
  background: #f1efef;
}

.cell {
  text-overflow: ellipsis;
  display: table-cell;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  padding: 2px 10px;
  text-align: left;
  display: inline-block;
  vertical-align: top;
}

.cell:nth-child(1) {
  width: 90px;
}

.cell:nth-child(2) {
  width: 300px;
}

.cell:nth-child(3) {
  width: 300px;
}

.cell:nth-child(4) {
  width: 75px;
}

.cell:nth-child(5) {
  width: 200px;
}

.cell:nth-child(6),
.cell:nth-child(7),
.cell:nth-child(8),
.cell:nth-child(9),
.cell:nth-child(10),
.cell:nth-child(11),
.cell:nth-child(12) {
  width: 100px;
}

th {
  position: sticky;
  top: 0;
  padding-top: 5px;
  padding-bottom: 5px;
}
<div class="table">
  <div class="headers row">
    <div class="cell">A</div>
    <div class="cell">B</div>
    <div class="cell">C</div>
    <div class="cell">D</div>
    <div class="cell">E</div>
    <div class="cell">F</div>
    <div class="cell">G</div>
    <div class="cell">H</div>
    <div class="cell">I</div>
    <div class="cell">J</div>
    <div class="cell">K</div>
    <div class="cell">L</div>
    <div class="cell">M</div>
  </div>
  <div class="table-body">
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
    <div class="row">
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
      <div class="cell">womp</div>
    </div>
  </div>
</div>

我的目标是让这张桌子在 x 和 y 方向上溢出。但是,如果您向右滚动,您会看到照亮每隔一行的灰色条不可见。

有人知道我错过了什么吗?任何指针将不胜感激!

【问题讨论】:

  • 你为什么要用 div 做表格?
  • display: table; 添加到.row 类...
  • @AbdullahAlNoor 几乎 有效,但最后一个标题没有填满该行——你知道为什么吗?移动响应样式的 LawrenceCherone
  • 我尝试解决它..我还没有找到...如果我找到了,我会发表评论..
  • 您在.cell 类中使用了两个display 属性

标签: html css


【解决方案1】:

display: table; 添加到.row

display:block;display:table;

你可以关注问题CSS: display:block; vs display:table;

也许对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 2018-06-01
    • 2013-05-08
    • 1970-01-01
    • 2011-12-12
    • 2013-08-24
    相关资源
    最近更新 更多