css固定表头、行头样式代码

要实现CSS固定表头、行头样式,一般采用CSS中的position属性。下面是完整攻略:

样式代码

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
thead, tbody, tr, td, th { 
    display: block;
}
tr:after {
    content: "";
    display: block;
    visibility: hidden;
    height: 0;
    clear: both;
}
thead th {
    /* 固定表头样式 */
    height: 30px;
}
tbody {
    height: 400px; /* 限制tbody高度 */
    overflow-y: auto; /* 上下滚动条 */
}
tbody td, thead th {
    width: 200px; /* 单元格宽度 */
    float: left;
}
tbody tr:nth-child(even) {
    background: #e9e9e9; /* 列表隔行变色 */
}

实现思路

  1. 将表头中的thead和其它table元素分别设置为display:block,使它们变为块级元素,从而使单元格(td/th)呈窄矩形堆叠在一起,前提是单元格必须先设置为块级元素。因为块级元素只从新行开始,并占据一定宽度,使每一个单元格都单独占据一行。

  2. 设置tr:after元素清除浮动,由于块级元素的特性,这样单元格的位置在一行中沿着块级元素交替出现,避免了在单元格过宽时出现不好看的堆积现象。

  3. 设置tbody的高度以及overflow-y属性为auto,使其出现垂直滚动条,这样在列表过长时可以通过滚动条来查看。

  4. 固定表头用的是thead th,这样在普通的表格中只会有tbody出现滚动,表头部分会固定在列表上面。同时需要设置表头高度,否则即使固定了表头,也会出现浮动元素的异常。

示例说明

以下是两个示例:

示例1

姓名 性别 年龄 城市
张三 25 北京
李四 30 上海
王五 28 深圳
赵六 33 广州

对应的CSS代码为:

table {
  width: 100%;
  border-collapse: collapse;
}

thead {
  background-color: #ddd;
}

thead th {
  height: 50px;
  text-align: center;
}

thead, tbody {
  display: block;
}

tbody {
  height: 300px;
  overflow-y: auto;
}

tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}

tr:before {
  content: ' ';
  display: block;
  visibility: hidden;
  height: 50px;
}

td {
  text-align: center;
  width:100px;
  height: 25px;
  display: inline-block;
  border:1px solid #999;
}

示例2

另一个示例,下面是一张带有行头的表格,其中第一列固定不动,而第一行和第一列同时固定。

A B C D
1 $160 $160 $160 $160
2 $160 $160 $160 $160
3 $160 $160 $160 $160
4 $160 $160 $160 $160
5 $160 $160 $160 $160

对应的CSS代码为:

table {
  border-collapse: collapse;
  width: 100%;
}

td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

th {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

tbody {
  height: 300px;
  overflow-y: auto;
  width: 100%;
}

thead tr:first-child th:first-child {
  position: sticky;
  left: 0;
  background-color: #f2f2f2;
}

thead tr:first-child > th:first-child {
  position: sticky;
  top: 0;
  background-color: #f2f2f2;
}

th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #f2f2f2;
}

总之,以上是两个示例,可以改变表格(包含列头和行头)的固定位置,适应不同屏幕大小,呈现更好的用户体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css固定表头、行头样式代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 容易忽略的CSS特性

    容易忽略的CSS特性 在CSS中,有一些特性很容易被忽略,但它们对于网页的设计和开发非常重要。本攻略将详细讲解这些容易忽略的CSS特性,包括基本原理、使用方法和示例说明。 1. text-transform text-transform属性用于控制文本的大小写。它可以接受以下值: none:默认值,不改变文本大小写。 capitalize:将每个单词的首字母…

    css 2023年5月18日
    00
  • Html5+jQuery+CSS制作相册小记录

    让我来详细讲解一下“HTML5+jQuery+CSS制作相册小记录”的完整攻略。 准备工作 安装文本编辑器:选择一个适合自己的文本编辑器,并学习如何使用它。建议使用Visual Studio Code。 学习HTML、CSS、JavaScript和jQuery:掌握HTML、CSS、JavaScript和jQuery的基础知识及其运用方式。 HTML布局 创…

    css 2023年6月9日
    00
  • CSS长度单位 px和pt的区别

    CSS长度单位 px 和 pt 是网页设计中常用的单位,它们用于指定元素的尺寸和位置。本文将详细讲解 px 和 pt 的区别,包括基本概念、使用方法、注意事项和示例说明。 1. 基本概念 px 和 pt 都是 CSS 中常用的长度单位,它们用于指定元素的尺寸和位置。其中,px 是像素单位,pt 是点单位。像素是屏幕上的最小显示单位,点是印刷中的最小显示单位。…

    css 2023年5月18日
    00
  • CSS子元素选择父元素的实现

    CSS 子元素选择父元素的实现,其实就是通过 CSS 选择器来选择某个元素下面子元素中的某个标签,同时还要求这个子元素必须是其直接的子元素,而不是后代元素。 使用 CSS 子元素选择器可以非常方便地实现父元素和子元素之间的关系。下面,我会为大家提供两种实现方法示例。 方法一: “>” 子元素选择器 利用 “>” 子元素选择器,我们可以很方便地实现…

    css 2023年6月9日
    00
  • Javascript拖拽&拖放系列文章3之细说事件对象

    Javascript拖拽&拖放系列文章3之细说事件对象,是一篇深入探讨JavaScript拖拽事件相关知识的文章。以下是详细的攻略: 标题 Javascript拖拽&拖放系列文章3之细说事件对象 概述 本文主要讲解JavaScript拖拽事件相关知识,重点是讲解事件对象。通过本文的介绍,读者可以更深入地了解JavaScript拖拽事件的机制,…

    css 2023年6月10日
    00
  • 基于element-ui组件手动实现单选和上传功能

    下面是“基于element-ui组件手动实现单选和上传功能”的完整攻略: 前言 element-ui是一款非常流行的UI组件库,提供了很多常用的组件和功能。但是在实际的开发中,我们有时候需要根据自己的业务需求对组件进行一些改造或扩展。本攻略将详细讲解如何基于element-ui组件手动实现单选和上传功能。 单选功能实现 目标 我们需要实现一个单选框组件,在选…

    css 2023年6月10日
    00
  • BOM操作querySelector querySeletorAll获取标签对象

    下面是“BOM操作querySelector querySeletorAll获取标签对象”的完整攻略: 什么是BOM BOM(Browser Object Model)是浏览器对象模型,主要针对浏览器窗口和框架(frameset)进行编程。BOM由许多对象组成,包括Window、Navigator、Screen、History、Location、Docume…

    css 2023年6月10日
    00
  • CSS的position属性完全解析

    CSS的position属性完全解析 什么是position属性? position是CSS中用来设置元素定位方式的属性,它有五种取值分别是: static relative absolute fixed sticky static static是position属性的默认值,元素不受top, right, bottom, left or z-index影响…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部