javascript - 在滚动 tbody 和 thead 列时修复表头与 tbody 列对齐

标签 javascript jquery html css

这是固定外部高度的表格,我需要滚动开始时,thead 将被固定,tbody 将滚动显示每列的标题。是否有任何想法将表格的标题固定在顶部和表格的内部内容将滚动。

.max_height{max-height:100px;overflow:auto;}
<div class="max_height">
  <table class="table">
    <thead>
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Email</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>John</td>
        <td>Doe</td>
        <td>john@example.com</td>
      </tr>
      <tr>
        <td>Mary</td>
        <td>Moe</td>
        <td>mary@example.com</td>
      </tr>
      <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>
        <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>  <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>
        <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>     
    </tbody>
  </table>
  </div>

最佳答案

用更新的 CSS 检查这个

.max_height{margin:0px;max-width:450px;}
table thead,table tbody{
  display:block;
}

table tbody{
  max-height:100px;
  overflow:auto;
}

table tr{
  display:table;
  width:100%;
  table-layout:fixed;
}
<div class="max_height">
  <table class="table">
    <thead>
      <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Email</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>John</td>
        <td>Doe</td>
        <td>john@example.com</td>
      </tr>
      <tr>
        <td>Mary</td>
        <td>Moe</td>
        <td>mary@example.com</td>
      </tr>
      <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>
        <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>  <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>
        <tr>
        <td>July</td>
        <td>Dooley</td>
        <td>july@example.com</td>
      </tr>     
    </tbody>
  </table>
  </div>

关于javascript - 在滚动 tbody 和 thead 列时修复表头与 tbody 列对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55040665/

相关文章:

javascript - 使用 Node js从时区获取时间

javascript - JS if/else 麻烦

javascript - Python:如何使用 python 单击网页中的按钮?

html - 为什么图像不显示在 IE8 的 DIV 中

javascript - 如何隐藏谷歌组织结构图中所选元素的 HTML 类?

javascript - WebSocket 在发送时关闭

jquery - 使用 jQuery 修复一个 div,但它在流出时会调整大小

jquery - 如何将最长的 li 元素的宽度设置为属于单父 ul 的所有 li 元素的宽度

javascript - jQuery:使用 select() 而不是 change() 选择 <option> 内容

javascript - 如何在 4th 之后包装所有元素