固定可滚动表格的标题

2023-12-19

这是一个带有固定行和列的表格。我也试图通过固定标题来改进它。 IE。当您滚动表格时,标题不应滚动 - 它应该永久可见。是否可以?

我已经尝试过了caption-side: top-outside, but:

  • top-outside仅适用于 Firefox。相反,我的目标浏览器是 Chrome。
  • 看来它根本无法解决任务。
.wrapper {
    height: 200px;
    overflow-x: auto;
    width: 500px;
}

caption, th, p {
    font-size: x-large;
}

caption {
    text-align: left;
}

th {
    background: rgba(255, 225, 225);
    position: sticky;
    top: 0;
}

th:first-of-type, td:first-of-type {
    left: 0;
    position: sticky;
}

th:first-of-type {
    z-index: 2;
}

td:first-of-type {
    background: rgba(225, 255, 225);
    z-index: 1;
}

th, td p {
    white-space: nowrap;
}

td p {
    margin-top: 0;
}

td p:last-child {
    margin-bottom: 0;
}

th, td {
    border-bottom: 1px dashed red;
}
<div class="wrapper">
    <table>
        <caption>Caption</caption>
        <thead>
            <tr>
                <th>Column 1 aaa aaa aaa</th>
                <th>Column 2 bbb bbb bbb</th>
                <th>Column 3 ccc ccc ccc</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
        </tbody>
    </table>
</div>

.wrapper {
    height: 200px;
    overflow-x: auto;
    width: 500px;
    margin-top: 30px;
}

table {
    margin-bottom: 0;
}

caption, th, p {
    font-size: x-large;
}

caption {
    text-align: left;
    position: absolute;
    z-index: 99;
    margin-top: -68px;
    display: table-header-group;
}

th {
    background: rgba(255, 225, 225);
    position: sticky;
    top: 0;
}

th:first-of-type, td:first-of-type {
    left: 0;
    position: sticky;
}

th:first-of-type {
    z-index: 2;
}

td:first-of-type {
    background: rgba(225, 255, 225);
    z-index: 1;
}

th, td p {
    white-space: nowrap;
}

td p {
    margin-top: 0;
}

td p:last-child {
    margin-bottom: 0;
}

th, td {
    border-bottom: 1px dashed red;
}
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
<p>paragraph 4</p>
<p>paragraph 5</p>
<div class="outer">
<div class="wrapper">
    <table>
        <caption>Caption</caption>
        <thead>
            <tr>
                <th>Column 1 aaa aaa aaa</th>
                <th>Column 2 bbb bbb bbb</th>
                <th>Column 3 ccc ccc ccc</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
            <tr>
                <td><p>Column 1 aaa aaa aaa</p></td>
                <td><p>Column 2 bbb bbb bbb</p></td>
                <td><p>Column 3 ccc ccc ccc</p></td>
            </tr>
        </tbody>
        
    </table>
</div>
</div>

这就是你想要实现的目标(适用于 Chrome 和 safari) 现在它正在工作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

固定可滚动表格的标题 的相关文章

随机推荐

  • ASP.NET 客户端到服务器的通信

    您能帮助我了解 ASP NET 中从浏览器到客户端进行通信的所有不同方式吗 我已将其设为社区 wiki 因此请随意编辑我的帖子以改进它 具体来说 我试图通过列出每种方法的工作原理来了解在哪种情况下使用每种方法 我对 UpdatePanel
  • 如何在java中正确格式化JSON字符串?

    我有一个球衣客户端 它从源获取 JSON 我需要将其转换为格式正确的 JSON 通过 http 请求抓取时 我的 JSON 字符串如下所示 properties someproperty aproperty set of data keyA
  • SignInManager.ExternalSignInAsync 与 Facebook 始终返回失败

    Google 可以工作 但 Facebook 总是返回失败 当我检查 loginInfo 时 它显示已验证 true 这是 Startup Auth cs 中的代码 我包含了有效的 Google 代码 public void Configu
  • 如何对岩石等复杂图像进行分割(C++)

    我正在尝试对岩石图片进行分割 我已附上示例 最终目标是找到近似的岩石区域 不确定所需的方法是否是图像分割 我尝试过几种算法 纹理分割没有帮助 因为所有的岩石都是相似的 我可以得到有很多错误的边缘 由于阴影 虽然可以使用 Here is an
  • Visual Studio UML 类图生成器

    我想知道是否有一个软件可以从 Visual Studio 2008 Professional 中的项目文件 C 生成 UML 类图 就像某种插件 我查了以前的帖子 乍一看没有看到任何有用的东西 编辑 我找到了类图项目 但愿意接受更多提示 编
  • 表的每一行的字符串偏移“Data_length”/“Index_length”非法

    学习 PHP mySQL 等 当我使用 xampp 使用 phpmyadmin 创建表时 每一行都会出现此错误 libraries classes Controllers Table TableStructureController php
  • 使用 Powershell 删除重复文件

    我有几千个重复文件 例如 jar 文件 我想使用 powershell 来 递归搜索文件系统 查找重复项 仅通过名称或校验和方法或两者兼而有之 删除除一个之外的所有重复项 我是 powershell 的新手 我将其扔给可能能够提供帮助的 P
  • JQuery 添加点击事件到单选输入文本

    我想要与单选按钮 热门 相关的标签 我开始使用 siblings 方法来实现这一点 我想一定有更好的方法 单选按钮上的单击事件如下所示 RadioButton click function event var questionId this
  • 从 C (Visual Studio) 调用 C++ 类成员函数

    我需要从 C 程序调用 C 成员函数 我在 C 代码中创建了 cpp h 包装器文件 包装了 C 成员函数 即 wrapper cpp include wrapper h extern C void wrap member1 Class m
  • 超出范围

    理想情况下 我想这样做 w 4px media max width 900px r 3px media min width 900px r 5px myclass border radius w r 这不会编译 因为 r没有在我定义的范围内
  • C#中检查线程是否正在运行

    我在 C 代码中创建了一个名为 ZipFolders 的函数 事实上 我是从 Unity 按钮调用它的 当按下它时 尝试将文件夹压缩到目录中 因为同时我想做其他事情 所以我尝试在新线程中调用该函数 我的问题是如何检查该线程是否正在运行或已停
  • 如何处理 JavaScript 中的“未定义”[重复]

    这个问题在这里已经有答案了 可能的重复 检测 JavaScript 中未定义的对象属性 https stackoverflow com questions 27509 detecting an undefined object proper
  • 为什么 Google Analytics 事件不从 onSubmit 发送?

    我想跟踪用户使用 Analytics 事件下载文件的频率 但即使事件似乎已发送 跟踪 gif 似乎并未正确到达 要下载文件 用户需要填写一份简短的表格 输入到此表单中的信息由该功能检查checkSubmit 返回false当输入的信息无效或
  • 如何在加壳器配置期间将文件复制到主机?

    我想在打包程序配置期间生成公共 私有 ssh 密钥对并将文件复制到主机 有没有办法使用打包程序将文件从虚拟机复制到主机 我想到了 文件提供程序有一个 方向 选项 允许下载而不是上传 type file source app tar gz d
  • 构建不以文件为中心的系统

    我们有一个软件基础设施 其工作方式与软件构建系统非常相似 从不同来源收集信息并用于生成一些输出 就像在传统的软件构建中一样 我们有不同类型的输出 依赖树等 主要区别在于我们的来源 中间结果和输出本质上并不是基于文件的 相反 它们是 唯一可寻
  • 不工作

    以下超链接不起作用 但当您单击 在新选项卡中打开 按钮时它会起作用 div class span12 category products style margin 0 auto div class toolbar div class row
  • 我应该使用 mysql_real_escape_string 转义预期的整数值还是可以只使用 (int)$expectedinteger

    使用cast int 代替转义是否安全 class opinion function loadbyopinionid opinionid opinionid int opinionid mysql query select from fe
  • 为什么这个数组没有索引?

    我试图将元素排序到我以这种方式构建的二维数组中 但是当代码到达二维数组时 我收到错误 数组超出索引 var categoryTempArray ProductCatalogue func sortinOut var i 0 var j 0
  • 使用prepareForSegue方法时IBOutlet属性不会更新

    我在将值传递给destinationViewController的IBOutlet属性时遇到问题 但它在普通属性上工作正常 请参阅下面的代码 void prepareForSegue UIStoryboardSegue segue send
  • 固定可滚动表格的标题

    这是一个带有固定行和列的表格 我也试图通过固定标题来改进它 IE 当您滚动表格时 标题不应滚动 它应该永久可见 是否可以 我已经尝试过了caption side top outside but top outside仅适用于 Firefox