当前位置: 首页 > 面试题库 >

如何创建带有固定/冻结的左列和可滚动主体的HTML表?

翟淮晨
2023-03-14
问题内容

但是我只需要冻结一个左列,我希望有一个简单且无脚本的解决方案。


问题答案:

如果您想要一个只有列水平滚动的表,则可以position:absolute第一列(并明确指定其宽度),然后将整个表包装在一个overflow-x:scroll 块中。不过,请不要在IE7中尝试此操作…

相关的HTML和CSS:

table {

  border-collapse: separate;

  border-spacing: 0;

  border-top: 1px solid grey;

}



td, th {

  margin: 0;

  border: 1px solid grey;

  white-space: nowrap;

  border-top-width: 0px;

}



div {

  width: 500px;

  overflow-x: scroll;

  margin-left: 5em;

  overflow-y: visible;

  padding: 0;

}



.headcol {

  position: absolute;

  width: 5em;

  left: 0;

  top: auto;

  border-top-width: 1px;

  /*only relevant for first row*/

  margin-top: -1px;

  /*compensate for top border*/

}



.headcol:before {

  content: 'Row ';

}



.long {

  background: yellow;

  letter-spacing: 1em;

}


<div>

<table>

        <tr><th class="headcol">1</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

        <tr><th class="headcol">2</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

        <tr><th class="headcol">3</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

        <tr><th class="headcol">4</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

        <tr><th class="headcol">5</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

        <tr><th class="headcol">6</th><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td><td class="long">QWERTYUIOPASDFGHJKLZXCVBNM</td></tr>

</table>

</div>


 类似资料:
  • 问题内容: 我正在尝试使用bootstrap 3表制作具有固定标题和可滚动内容的表。不幸的是,我发现的解决方案不适用于引导程序或使样式混乱。 这里有一个简单的引导表,但是由于某种原因我不知道tbody的高度不是10px。 例: 问题答案: 这是有效的解决方案:

  • 问题内容: 我需要在网页上显示一个大表,并且需要防止第一列和第一行滚动。 我想动态设置此表的垂直大小(在某些静态大小的页眉/页脚页面内容之间),以使其尽可能高,而不必强制浏览器窗口具有垂直滚动条。 这仅需要在使用所有/任何版本的现代浏览器中工作:html,css,javascript,jquery 重要顺序: 具有许多表单字段,隐藏值,行的javascript折叠等的复杂表,稍后将添加 第一行将有

  • 问题内容: 我想制作一个冻结顶部行的html表(因此,当您垂直向下滚动时,总是可以看到它)。 有没有使这种情况发生的聪明方法,而无需使用javascript? 请注意,我不需要冻结左列。 问题答案: 如果没有JavaScript,您将无法有效实现这一目标……特别是如果您想要跨浏览器支持。 您采取的任何方法都有很多问题,特别是关于跨浏览器/版本支持的问题。 编辑: 即使不是您要修复的标头,而是数据的

  • 问题内容: 我一直在尝试一种方法来制作具有固定的第一列的表(表的其余部分具有水平的溢出),我看到有类似问题的帖子。但是固定的列位似乎没有解决。帮帮我? 问题答案: 我有一个类似的样式,如下所示:

  • 我想创建一系列可以垂直滚动的表,每个表的行/列数可能不同。 在每个表中,我希望将最左边的列冻结在适当的位置,并且该表中的其余列可以水平滚动,以防有许多列不适合屏幕的宽度。见截图: 我最初的计划是使用ListView在表之间进行页面级别的垂直滚动,在每个表中有一行列,其中第一列是静态宽度,其余的列包含在水平滚动的ListView中。我从Flutter得到的错误并不能帮助我确定我需要做什么,但它显然与

  • 问题内容: 我有一张像这样的桌子,上面有数据 and CSS like that 但滚动不起作用,我想固定表格的高度,如果超出高度,则使用滚动条 问题答案: Table with Fixed Header Result This is working in all browser