---
layout: doc
title: JavaScript和Vue中实现表格(table)固定表头和首列
date: 2022-08-26
tags:
- 编程
- 学习
- Html
- JavaScript
- vue
- Blog
head:
- - meta
- name: description
content: 本文主要介绍关于`JS`或`Vue`中如何进行表头,列固定,可以根据实际应用场景应用于`原生`,`Vue`,`移动端`,`小程序`中
- - meta
- name: keywords
content: vue vue3 js javascript
editLink: false
lastUpdated: 2025-01-20T10:09:00
---
# {{ $frontmatter.title }}
> :black_nib: 文章摘要
这篇文章介绍了如何在 JS 或 Vue 中实现表格的列和表头固定功能,适用于不同的开发环境(如原生
JavaScript、Vue、React、小程序等)。文章详细展示了实现这一功能的思路和具体步骤,包括使用 Vue3 和 TypeScript 结合 Less
来完成样式和功能的实现。
## 写在前面
本文主要介绍关于`JS`或`Vue`中如何进行表头,列固定,可以根据实际应用场景应用于`原生`,`Vue`,`移动端`,`小程序`中
实际效果展示:

## 思路概述
`表头,列头,表格本身,这三个内容被分为了三块元素,将这三个内容进行抽离,并且通过定位和大盒子的包裹进行样式管理。`
【当要进行滚动时,只要对滚动事件进行绑定,让`表头和列头显示对应的内容就完成了滚动的操作`】
下面有`Vue`组件的和`JavaScript`原生的代码,可以直接运行查看逻辑和效果
## 具体实现
整体代码,`可以直接创建组件,将代码复制到组件中使用`,在`App`中引用运行【基于`vue3+ts+less`实现,其他版本会在后面给出修改思路】
`【最下面也提供了原生写法】`
```html
列头表头固定table
{{ item }}
{{ String.fromCharCode(RootItem + 64) }}
{{ item + String.fromCharCode(RootItem + 64) }}
列头表头固定table
{{ item }}
{{ String.fromCharCode(RootItem + 64) }}
{{ item + String.fromCharCode(RootItem + 64) }}