首页 > 解决方案 > 具有固定标题的引导表 - Angular 5

问题描述

我用 HTML 创建了一个表格,我想显示它的标题是固定的(滚动只会影响正文)。

我找到了一个解决方案,它几乎可以按我的意愿工作。

tbody {
  display:block;
  height:500px;
  overflow:auto;
}
thead, tbody tr {
  display:table;
  width:100%;
  table-layout:fixed;/* even columns width , fix width of table too*/
}
thead {
  width: calc( 100% - 1em )/* scrollbar is average 1em/16px width, remove it from thead width */
}
table {
  width:400px;
}

问题是使用属性table-layout: fixed,它修复了列的宽度,因此我的列没有正确显示(它们重叠):

在此处输入图像描述

我该如何解决?我已经尝试过表格布局的四个可能值

标签: cssangular5css-tables

解决方案


采用td {word-wrap: break-word;}

tbody {
  display:block;
  height:500px;
  overflow:auto;
}
thead, tbody tr {
  display:table;
  width:100%;
  table-layout:fixed;/* even columns width , fix width of table too*/
}
td{
    word-wrap: break-word;
}
thead {
  width: calc( 100% - 1em )/* scrollbar is average 1em/16px width, remove it from thead width */
}
table {
  width:400px;
}
<table class="a">
  <thead>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </thead>
  <tbody>
  <tr>
    <td>AlfredsFutterkisteghrtrh</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
    <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
    <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
    <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
  </tbody>
</table>


推荐阅读