如何使用超简单的HTML和CSS代码来实现固定列的表格

这篇具有很好参考价值的文章主要介绍了如何使用超简单的HTML和CSS代码来实现固定列的表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在网页开发中,表格是一个非常常见的组件,并且对于大多数开发者而言,不可或缺。尤其是在需要展示数据时,表格更是成为了一个必须品。然而,在一些情况下,表格数据非常复杂,导致其中的一些列需要被固定,使得它们随着页面的滚动而保持在屏幕上方。本文将介绍如何使用超简单的HTML和CSS代码来实现固定列的表格。

  1. 创建一个基本的HTML文件 首先,创建一个基本的HTML文件,并将其命名为“table.html”。接下来,我们需要在该文件中添加一些基本的HTML结构以及一个例子表格,如下所示:
<!DOCTYPE html> <html> <head> <title>Fixed Table</title> <style> /* custom styles go here */ </style> </head> <body> <table> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> <th>Header 4</th> <th>Header 5</th> <th>Header 6</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> <td>Row 1, Column 4</td> <td>Row 1, Column 5</td> <td>Row 1, Column 6</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> <td>Row 2, Column 4</td> <td>Row 2, Column 5</td> <td>Row 2, Column 6</td> </tr> <tr> <td>Row 3, Column 1</td> <td>Row 3, Column 2</td> <td>Row 3, Column 3</td> <td>Row 3, Column 4</td> <td>Row 3, Column 5</td> <td>Row 3, Column 6</td> </tr> </tbody> </table> </body> </html>
  1. 添加CSS样式表 接下来,我们需要在样式标签内添加一些自定义CSS样式。可以使用以下代码实现:
table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 8px; } thead th { background-color: #333; color: #fff; } tbody tr:nth-child(even) { background-color: #f2f2f2; } .fixed { position: absolute; left: 0; top: auto; }

上述代码实现了以下功能:

  • 将表格的边框合并
  • 将表格的宽度设置为100%
  • 设置表头和单元格文本居左对齐,并给它们8像素的内边距
  • 设置表头的背景颜色和文字颜色
  • 设置隔行变色
  • 定义一个名为“fixed”的CSS类,这个类将被用于实现固定列的表格
  1. 实现固定列 现在,我们需要通过CSS来实现固定列。要做到这一点,我们将添加一些JavaScript代码以便追踪页面滚动的位置。当需要固定一些列时,我们可以假定其他列具有固定宽度,这样就可以在表格中创建一个新的table元素,而这个table元素中就包含了我们想要固定的某一列。

接下来,我们将展示如何通过CSS实现固定列。可以使用以下代码实现:

<!DOCTYPE html> <html> <head> <title>Fixed Table</title> <style> table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 8px; } thead th { background-color: #333; color: #fff; } tbody tr:nth-child(even) { background-color: #f2f2f2; } .fixed { position: absolute; left: 0; top: auto; } .fixed th, .fixed td { position: relative; z-index: 1; } .fixed th { left: 0; width: 100px; } tbody td { border-top-width: 0; border-bottom-width: 0; } </style> </head> <body> <table> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> <th>Header 4</th> <th>Header 5</th> <th>Header 6</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> <td>Row 1, Column 4</td> <td class="fixed"> <table> <thead> <tr> <th>Header 5</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 5</td> </tr> <tr> <td>Row 2, Column 5</td> </tr> <tr> <td>Row 3, Column 5</td> </tr> </tbody> </table> </td> <td>Row 1, Column 6</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> <td>Row 2, Column 4</td> <td class="fixed"> <table> <thead> <tr> <th>Header 5</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 5</td> </tr> <tr> <td>Row 2, Column 5</td> </tr> <tr> <td>Row 3, Column 5</td> </tr> </tbody> </table> </td> <td>Row 2, Column 6</td> </tr> <tr> <td>Row 3, Column 1</td> <td>Row 3, Column 2</td> <td>Row 3, Column 3</td> <td>Row 3, Column 4</td> <td class="fixed"> <table> <thead> <tr> <th>Header 5</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 5</td> </tr> <tr> <td>Row 2, Column 5</td> </tr> <tr> <td>Row 3, Column 5</td> </tr> </tbody> </table> </td> <td>Row 3, Column 6</td> </tr> </tbody> </table> <script type="text/javascript"> const init = () => { window.addEventListener("scroll", function(e) { var distanceY = window.pageYOffset || document.documentElement.scrollTop, fixedTopEl = document.querySelectorAll(".fixed")[0]; if (distanceY > fixedTopEl.offsetTop) { fixedTopEl.style.top = distanceY + "px"; } else { fixedTopEl.style.top = ""; } }); }; init(); </script> </body> </html>

上面代码中,我们使用了position: absolute来把固定的单元格移到最左侧,并使用left: 0来使其靠左。另外,我们还需使用z-index: 1来确保它们在其他内容之前呈现。同时,使用JS监听页面滚动事件,并且对于第一个固定元素,通过一个if语句判断它是否已经滚动到了视口的顶部。如果是,则将固定区域的top设置为distanceY,否则将它置为空。

总结

固定列的表格在网页开发中是非常常见的组件,通过本文所介绍的HTML和CSS代码,可以轻松实现一个类似的效果。同时需要注意:如果固定表格中的内容包含多行、超链接或其他特殊内容类型,则可能会需要进行一些额外的调整。文章来源地址https://www.toymoban.com/news/detail-440961.html

到了这里,关于如何使用超简单的HTML和CSS代码来实现固定列的表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例

    在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。 最近一次單價: INDEX($B2:$G2,1,LARGE(IF(ISBLANK($B2:$G2)=FALSE,COLUMN($B2:$G2)-1,0),1)) 函

    2024年02月03日
    浏览(28)
  • html简单网页代码:HTML+CSS肖战明星人物介绍网页 web结课作业的源码

    👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTML+CSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容丰富,主题鲜明,非常适合初学者学习使用, 这个实例比较全面,有助于同学的学习,本文将

    2024年01月16日
    浏览(40)
  • 使用HTML+CSS制作一个简单的网页

    简单学习了一下HTML和CSS,制作了下面这个网页(第一次做还在学习中),里面包含一些基础的布局包括 导航条、分页栏、悬浮列表 等内容。 网页预览 (网页中的图片与图标均来自阿里巴巴矢量图标库) CSS代码 里面包含悬浮、画面自适应等效果

    2024年02月11日
    浏览(73)
  • HTML、CSS和JavaScript实现简单天气预报

    使用 HTML、CSS和JavaScript实现简单天气预报 的步骤: 首先需要获取天气API的数据,可以通过向第三方天气数据服务商发送HTTP请求来获取数据。例如,可以使用Yahoo Weather API或OpenWeatherMap API等。这里以OpenWeatherMap API为例,获取当前城市的天气情况。 接着,将获取到的天气数据动

    2024年02月04日
    浏览(53)
  • html+css实现二级导航栏效果,简单易看懂噢!

    这应该是这几天以来看到的最简单易懂的有二级菜单栏的导航栏效果实现了 使用html+css实现,看了好几天导航栏的实现方式,要么是太复杂的需要JS或者框架的,要么是太简单仅仅使用div和超链接的, 再要么就是只有简单的一级导航,没有二级菜单栏的,心情复杂 就想找一个

    2024年02月06日
    浏览(42)
  • 制作一个简单HTML校园网页(HTML+CSS)学校网站制作 校园网站设计与实现

    🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作

    2024年01月16日
    浏览(51)
  • web前端期末大作业——HTML+CSS简单的旅游网页设计与实现

    👨‍🎓静态网站的编写主要是用 HTML DⅣV+ CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉导航栏、鼠标划过效果等知识点,学生网页作业源码,制作水平

    2024年02月09日
    浏览(74)
  • 制作一个简单HTML旅游网站(HTML+CSS+JS)无锡旅游网页设计与实现8个页面

    👨‍🎓静态网站的编写主要是用 HTML DⅣV+ CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉导航栏、鼠标划过效果等知识点,学生网页作业源码,制作水平

    2024年02月10日
    浏览(59)
  • html、css、javascript简单三剑客实现樱花飘落\雪花飘落特效汇总

    素材来源于网络稍作修改 侵删 如果觉得复制下面运行有问题或者嫌麻烦 可以直接下载源代码 欢迎fork、star 预览 话不多说,直接上代码 预览 预览

    2024年02月14日
    浏览(64)
  • html+CSS+JS实现小米官网(附全部代码)

    文章目录 前言 代码目录 二、使用步骤 1.引入库 总结 本项目所建立的小米官网为高仿,原创不易,麻烦各位多多支持。 。               图标库: 图标库网站: html代码:  css代码: JS代码: 本文所需要jquery的库,需要的可以后台留言我发给你们。原创不易,多多支持。

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包