CSS表列不会与固定的头对齐怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (123)

我一直试图制作一个可滚动的表,但是我的标题和列不会排列.我也希望它跨越整个宽度(100%),而且我还没有解决这两个问题.这是原始代码,我提供了一个链接到我的表设计和进度的CSS小提琴查询。

我的终极目标;

  1. 使表的宽度达到页面的全部宽度。
  2. 使标头静态
  3. 具有可滚动的表体

HTML

<table class="fixed_header">
  <thead>
    <tr>
      <th>Col 1</th>
      <th>Col 2</th>
      <th>Col 3</th>
      <th>Col 4</th>
      <th>Col 5</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>row 1-0</td>
      <td>row 1-1</td>
      <td>row 1-2</td>
      <td>row 1-3</td>
      <td>row 1-4</td>
    </tr>
    <tr>
      <td>row 2-0</td>
      <td>row 2-1</td>
      <td>row 2-2</td>
      <td>row 2-3</td>
      <td>row 2-4</td>
    </tr>
    <tr>
      <td>row 3-0</td>
      <td>row 3-1</td>
      <td>row 3-2</td>
      <td>row 3-3</td>
      <td>row 3-4</td>
    </tr>
    <tr>
      <td>row 4-0</td>
      <td>row 4-1</td>
      <td>row 4-2</td>
      <td>row 4-3</td>
      <td>row 4-4</td>
    </tr>
  </tbody>
</table>

CSS:

.fixed_header tbody{
  display:block;
  overflow:auto;
  height:100px;
  width:100%;
}
.fixed_header thead tr{
  display:block;
   height:20px;
}
table {
  border-collapse: collapse;
  width: 100%;
}

table tr {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
  width: 100%;
}
table tbody{
  width: 100%;
}
table th {
background-color: #545556;
    color: white;
  padding: .425em;
  text-align: center;
}

table td {
  padding: .425em;
  text-align: center;
    word-wrap: break-word;
    font-size: 0.75em;
}

table th {
  font-size: .75em;
  letter-spacing: .1em;
  text-transform: uppercase;
}
提问于
用户回答回答于

我在CSS中添加了以下内容:

tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

因此,最后的CSS如下所示:

.fixed_header tbody {
  display: block;
  overflow-y: scroll;
  overflow-x: hidden;
  height: 100px;
}

.fixed_header thead tr {
  height: 20px;
}

table {
  border-collapse: collapse;
}

table tr {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
}

table th {
  background-color: #545556;
  color: white;
  padding: .425em;
  text-align: center;
}

table td {
  padding: .425em;
  text-align: center;
  word-wrap: break-word;
  font-size: 0.75em;
}

table th {
  font-size: .75em;
  letter-spacing: .1em;
  text-transform: uppercase;
}

tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

扫码关注云+社区

领取腾讯云代金券