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

仅冻结html表的顶部行(固定表标题滚动)

薛涛
2023-03-14
问题内容

我想制作一个冻结顶部行的html表(因此,当您垂直向下滚动时,总是可以看到它)。

有没有使这种情况发生的聪明方法,而无需使用javascript?

请注意,我不需要冻结左列。


问题答案:

如果没有JavaScript,您将无法有效实现这一目标……特别是如果您想要跨浏览器支持。

您采取的任何方法都有很多问题,特别是关于跨浏览器/版本支持的问题。

编辑:

即使不是您要修复的标头,而是数据的第一行,概念仍然相同。我不是您所指的100%。

另外 ,我公司还派我去研究可以在IE7 +,Firefox和Chrome中运行的解决方案。

经过无数次搜寻,尝试和挫折之后,它实际上归结为一个基本问题。在大多数情况下,为了获得固定的标题,您需要实现固定的高度/宽度列,因为大多数解决方案都涉及使用两个单独的表,其中一个用于标题,该标题将浮动并停留在包含数据的第二个表上。

//float this one right over second table
<table>
  <tr>
    <th>Header 1</th>
    <th>Header 2</th>
  </tr>
</table>

<table>
//Data
</table>

一些尝试的替代方法是利用tbody和thead标签,但是它也存在缺陷,因为IE不允许您将滚动条放在tbody上,这意味着您不能限制其高度(如此愚蠢的IMO)。

<table>
  <thead style="do some stuff to fix its position">
  <tr>
    <th>Header 1</th>
    <th>Header 2</th>
  </tr>
  </thead>
  <tbody style="No scrolling allowed here!">
     Data here
  </tbody>
</table>

这种方法有很多问题,例如,确保精确的像素宽度,因为表格是如此可爱,以至于不同的浏览器会根据计算结果不同地分配像素,而您根本无法(AFAIK)保证在所有情况下均能完美分配。如果表中有边框,这将变得非常明显。

我采取了另一种方法,并说了螺丝桌,因为您不能保证这一点。我用div模仿表。这也存在放置行和列的问题(主要是因为浮动存在问题,使用内嵌块不适用于IE7,因此,这确实让我不得不使用绝对定位将它们放置在适当的位置)。

有一个制作Slick Grid的人,它具有与我非常相似的方法,您可以使用一个很好的(尽管很复杂)示例来实现这一目标。



 类似资料:
  • 问题内容: 在此处输入图片说明我需要你的帮助。我不确定如何冻结表或表的第一行,其中包含要冻结的标题,而我却可以滚动表?仅使用CSS标记而不使用Javascript框架,我将如何实现这一目标? 问题答案: 将以下内容添加到CSS中。 试试这个代码

  • 问题内容: 是否有跨浏览器的CSS / JavaScript技术来显示较长的HTML表,以使列标题在屏幕上保持固定并且不随表主体滚动。考虑一下Microsoft Excel中的“冻结窗格”效果。 我希望能够滚动浏览表的内容,但始终能够看到顶部的列标题。 问题答案: 一段时间以来,我一直在寻找解决方案,但发现大多数答案都不起作用或不适合我的情况,因此我用jQuery写了一个简单的解决方案。 这是解决

  • 我有一个解决方案,通过它,我可以使用minor jQuery和CSS创建带有固定页眉/页脚的可滚动表,但我正在寻找一种方法,使其成为唯一一个跨浏览器兼容的CSS解决方案。 明确地说,我想要做的是只使用一个标记(它是有效的子标记,,,,,,,,),但采用一组满足以下条件的CSS规则: 必须在页眉/页脚/内容行之间保持列对齐 必须允许页眉/页脚在内容垂直滚动时保持固定 必须不需要任何jQuery或其他

  • 我有一个标题,占据了整个屏幕。 每次应用程序进入后台,然后回到前台/活动,我希望屏幕被设置回标题顶部。 我只见过与滚动到表格顶部有关的答案,这些答案使用类似于,但是不起作用,因为它只滚动回UITableView的第0行0,而不是UITableView标题的顶部。 有什么想法吗? 谢谢 编辑:尝试了这个 下面是一些值得注意的表格设置代码:

  • 问题内容: 我有一个解决方案,可以使用较小的jQuery和CSS创建带有固定页眉/页脚的可滚动表-但我正在寻找一种方法,使之成为跨浏览器兼容的仅CSS解决方案。 需要明确的是,我所寻求要做的是使用 只有 一个标签(和它是有效的子标签,,,,,,,,),而是采用了一套将符合下列条件的CSS规则: 必须保持页眉/页脚/内容行之间的列对齐 当内容垂直滚动时,必须允许页眉/页脚保持固定 不得使用任何jQu

  • 问题内容: 引导布局。桌子上有很多行。 问题? 当我滚动页面导航栏将在那里,因为它是固定的。当我滚动更多时,我希望将表标题固定在导航栏中,并且table(table-body)的内容滚动而没有滚动条! HTML 问题答案: $(document).ready(function(){ $(“.sticky-header”).floatThead({top:50}); }); 具有2个表和固定标题的D