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自定义属…

    css 2023年6月9日
    00
  • CSS实现绝对的完美圆角框

    要实现完美的圆角框,需要使用一些CSS技巧和属性来创建一个全圆角边框的容器。以下是一些步骤: 1. 添加一个容器 首先,需要添加一个容器,例如一个div元素,在HTML页面中,如下所示: <div class="rounded-box"></div> rounded-box是自定义的类名,可以随意更改,视需求而定。…

    css 2023年6月10日
    00
  • JavaScript点击按钮后弹出透明浮动层的方法

    下面让我来详细讲解一下“JavaScript点击按钮后弹出透明浮动层的方法”的完整攻略。首先,我们需要了解这个功能的基本思路:通过点击按钮,触发事件,使浮动层出现或消失。具体实现可以分为以下几个步骤: 1. HTML结构 首先,要在HTML中定义需要弹出的透明浮动层,并为按钮添加点击事件。以下是一个简单的示例代码: <!– 弹出层 –> &l…

    css 2023年6月10日
    00
  • 在IE8上JS实现combobox支持拼音检索功能

    实现在IE8上JS实现combobox支持拼音检索功能的完整攻略,需要遵循以下步骤: 引入pinyin.js pinyin.js是一个基于汉字转拼音的JavaScript库,可以通过引入该库为我们提供方便的汉字拼音转换功能。可以在中引入该js库: <head> <script src="path/to/pinyin.js&quot…

    css 2023年6月10日
    00
  • 使用CSS3的背景渐变Text Gradient 创建文字颜色渐变

    使用 CSS3 的背景渐变 Text Gradient 可以创建文字颜色渐变效果,让文字看起来更加美观。本文将向您展示如何使用 CSS3 的 Text Gradient 创建文字颜色渐变。 步骤 1. 创建 HTML 结构 首先,在您的 HTML 文件中创建一个元素,用于标识您将要应用 Text Gradient 的文本,例如: <div class=…

    css 2023年6月9日
    00
  • 详解css3自定义滚动条样式写法

    下面是详解css3自定义滚动条样式写法的完整攻略: 1. 基础概念 在开始自定义滚动条样式之前,我们需要了解一些基础概念。CSS3中为我们提供了一个新的属性:::-webkit-scrollbar,用于控制滚动条的样式。其中,-webkit-是浏览器前缀,表示该属性仅在webkit内核的浏览器中生效。另外,::-webkit-scrollbar是一个伪元素,…

    css 2023年6月10日
    00
  • 使用css外部样式表的方法

    以下是“使用CSS外部样式表的方法”的完整攻略: 使用CSS外部样式表的方法 CSS外部样式表是一种将CSS样式定义在外部文件中,然后在HTML文件中引用的方法。这种方法可以使得CSS样式的管理更加方便,同时也可以提高网页的加载速度。以下是使用CSS外部样式表的步骤: 创建CSS文件:在本地计算机上创建一个CSS文件,例如“style.css”。 编写CSS…

    css 2023年5月18日
    00
  • 用css实现的带阴影的表格效果的代码

    下面是实现带阴影的表格的步骤: 步骤一:准备HTML代码 首先,我们需要准备一个HTML的表格代码,可以使用以下代码作为示例: <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </…

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