我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用纯CSS实现表头固定

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用纯CSS实现表头固定

这篇文章主要介绍怎么用纯CSS实现表头固定,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  我们知道,CSS是负责表现,HTML是负责结构,同样的结构,换个样式,给人的感觉完全不同,这也说明人的眼睛是很容易受骗。因此前些狂热鼓吹p+CSS的日子里,人们总是想在页面去掉table,用p+span弄出了一个个“table”来。虽然这种事是不可取,但也告诉我们,table做得的事,通过一些组合我们也能做出来。换个思路来说,既然一个table做不了,就两个吧。上面的table模拟表头,下面的table模拟带滚动条的部分。在我们继续讲下去之前,我们先明确一下我们的需求吧,要不太抽象了。首先是表格为4*9,每列宽170px,总为680px,滚动条在各浏览器默认为16px,别忘了,width是不包含border在内,四列就有5个纵向的border,宽总长为701px。

  <table>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  <td>&nbsp;</td>

  </tr>

  </table>

  然后我们把这个table一分为二,第一个table为表头,第二个table要带滚动条,说明要在其父元素上应用overflow样式,因此它要外套一个p。这个p与第一个table应该是等长的。不过不用花心思了,我们在它们的外面最套一个p,设置其width为701px,然后把这两个子元素的宽都设为100%就行了。注意,我们在table中显式添加tbody以提高表格的渲染效率。

  <pid="scrollTable">

  <tableclass="thead">

  <tbody>

  <tr>

  <th>名称</th>

  <th>语法</th>

  <th>说明</th>

  <th>例子</th>

  </tr>

  </tbody>

  </table>

  <p>

  <tableclass="tbody">

  <tbody>

  <tr>

  <td>SimpleattributeSelector</td>

  <td>[attr]</td>

  <td>选择具有此属性的元素</td>

  <td>blockquote[title]{<br/>color:red}</td>

  </tr>

  <tr>

  <td>attributeValueSelector</td>

  <td>[attr="value"]</td>

  <td>选出属性值精确等于给出值的元素</td>

  <td>h3[align="left"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>"Begins-with"attributeValueSelector</td>

  <td>[attr^="value"]</td>

  <td>选出属性值以给出值开头的元素</td>

  <td>h3[align^="right"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>"Ends-with"attributeValueSelector</td>

  <td>[attr$="value"]</td>

  <td>选出属性值以给出值结尾的元素</td>

  <td>p[class$="vml"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>Substring-matchattributeValueSelector</td>

  <td>[attr*="value"]</td>

  <td>选出属性值包含给出值的元素</td>

  <td>p[class*="grid"]{<br/>float:left}</td>

  </tr>

  <tr>

  <td>One-Of-ManyAttributeValueSelector</td>

  <td>[attr~="value"]</td>

  <td>原元素的属性值为多个单词,给出值为其中一个。</td>

  <td>li[class~="last"]{<br/>padding-left:2em}</td>

  </tr>

  <tr>

  <td>HyphenAttributeValueSelector</td>

  <td>[attr|="value"]</td>

  <td>原元素的属性值等于给出值,或者以给出值加“-”开头</td>

  <td>span[lang|="en"]{<br/>color:green}</td>

  </tr>

  <tr>

  <td>反选属性值选择器</td>

  <td>[attr!="value"]</td>

  <td>非标准,jQuery中出现的</td>

  <td>span[class!="red"]{<br/>color:green}</td>

  </tr>

  </tbody>

  </table>

  </p>

  </p>

  表现层部分:

  #scrollTable{

  width:701px;

  border:1pxsolid#EB8;

  background:#FF8C00;

  }

  #scrollTabletable{

  border-collapse:collapse;

  }

  #scrollTabletable.thead{

  

  width:100%;

  }

  #scrollTabletable.theadth{

  border:1pxsolid#EB8;

  border-right:#C96;

  color:#fff;

  background:#FF8C00;

  }

  #scrollTablep{

  

  width:100%;

  height:200px;

  overflow:auto;

  }

  #scrollTabletable.tbody{

  width:100%;

  border:1pxsolid#C96;

  border-right:#B74;

  color:#666666;

  background:#ECE9D8;

  }

  #scrollTabletable.tbodytd{

  border:1pxsolid#C96;

  }

  运行代码:

  <!doctypehtml>

  <htmldir="ltr"lang="zh-CN">

  <head>

  <metacharset="utf-8"/>

  <title>纯CSS实现表头固定</title>

  <styletype="text/css">

  #scrollTable{

  width:701px;

  border:1pxsolid#EB8;

  background:#FF8C00;

  }

  #scrollTabletable{

  border-collapse:collapse;

  }

  #scrollTabletable.thead{

  

  width:100%;

  }

  #scrollTabletable.theadth{

  border:1pxsolid#EB8;

  border-right:#C96;

  color:#fff;

  background:#FF8C00;

  }

  #scrollTablep{

  

  width:100%;

  height:200px;

  overflow:auto;

  }

  #scrollTabletable.tbody{

  width:100%;

  border:1pxsolid#C96;

  border-right:#B74;

  color:#666666;

  background:#ECE9D8;

  }

  #scrollTabletable.tbodytd{

  border:1pxsolid#C96;

  }

  </style>

  </head>

  <body>

  <pid="scrollTable">

  <tableclass="thead">

  <tbody>

  <tr>

  <th>名称</th>

  <th>语法</th>

  <th>说明</th>

  <th>例子</th>

  </tr>

  </tbody>

  </table>

  <p>

  <tableclass="tbody">

  <tbody>

  <tr>

  <td>SimpleattributeSelector</td>

  <td>[attr]</td>

  <td>选择具有此属性的元素</td>

  <td>blockquote[title]{<br/>color:red}</td>

  </tr>

  <tr>

  <td>attributeValueSelector</td>

  <td>[attr="value"]</td>

  <td>选出属性值精确等于给出值的元素</td>

  <td>h3[align="left"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>"Begins-with"attributeValueSelector</td>

  <td>[attr^="value"]</td>

  <td>选出属性值以给出值开头的元素</td>

  <td>h3[align^="right"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>"Ends-with"attributeValueSelector</td>

  <td>[attr$="value"]</td>

  <td>选出属性值以给出值结尾的元素</td>

  <td>p[class$="vml"]{<br/>cursor:hand}</td>

  </tr>

  <tr>

  <td>Substring-matchattributeValueSelector</td>

  <td>[attr*="value"]</td>

  <td>选出属性值包含给出值的元素</td>

  <td>p[class*="grid"]{<br/>float:left}</td>

  </tr>

  <tr>

  <td>One-Of-ManyAttributeValueSelector</td>

  <td>[attr~="value"]</td>

  <td>原元素的属性值为多个单词,给出值为其中一个。</td>

  <td>li[class~="last"]{<br/>padding-left:2em}</td>

  </tr>

  <tr>

  <td>HyphenAttributeValueSelector</td>

  <td>[attr|="value"]</td>

  <td>原元素的属性值等于给出值,或者以给出值加“-”开头</td>

  <td>span[lang|="en"]{<br/>color:green}</td>

  </tr>

  <tr>

  <td>反选属性值选择器</td>

  <td>[attr!="value"]</td>

  <td>非标准,jQuery中出现的</td>

  <td>span[class!="red"]{<br/>color:green}</td>

  </tr>

  </tbody>

  </table>

  </p>

  </p>

  </body>

  </html>

怎么用纯CSS实现表头固定

以上是“怎么用纯CSS实现表头固定”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用纯CSS实现表头固定

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在CSS中固定表头

本篇文章为大家展示了怎么在CSS中固定表头,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
2023-06-08

如何利用纯css实现table固定列与表头中间横向滚动的

这篇文章主要介绍如何利用纯css实现table固定列与表头中间横向滚动的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文字被强制换行了由于个别表的列数较多;文字都挤在一起向下换行了;现场惨不忍睹;于是采用强制不换行的
2023-06-08

react如何实现表头固定

今天小编给大家分享一下react如何实现表头固定的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react实现表头固定的方法:
2023-07-05

element表格多级表头子列固定怎么实现

这篇“element表格多级表头子列固定怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“element表格多级表头子列
2023-07-02

大数据报表展现时怎么实现固定表头效果

这篇文章跟大家分析一下“大数据报表展现时怎么实现固定表头效果”。内容详细易懂,对“大数据报表展现时怎么实现固定表头效果”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“大数据报表展现
2023-06-04

怎么在html 中固定Table 表头

今天就跟大家聊聊有关怎么在html 中固定Table 表头,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体如下:
2023-06-09

CSS怎么实现固定宽高比

这篇文章给大家分享的是有关CSS怎么实现固定宽高比的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、可替换元素实现固定宽高比可替换元素(如
2023-06-08

uniapp怎么实现固定头部不滚动

随着移动互联网的普及,移动应用的需求也越来越多,开发移动应用的成本和门槛也随之降低。其中,uniapp是目前比较流行的一种跨平台应用框架,它的特点是统一了小程序、H5、安卓和ios平台的开发,让开发者能够更加高效地进行移动应用开发。在uniapp应用开发过程中,固定头部不滚动是一个很常见的需求。比如,在一个列表页面中,用户在滑动时,不希望头部的标题栏随之滑动,而是保持固定。实现
2023-05-14

css怎么实现内容固定不动

css实现内容固定不动的方法:1、通过给div设置“position: fixed;”属性内容固定;2、利用calc方法实现内容固定;3、使用relative,fixed和absolute定位属性实现内容固定不动即可。
2023-05-14

如何使用HTML和CSS实现一个固定头部布局

在网页设计中,固定头部布局是一种常用的布局方式,可以使页面的顶部导航栏或标题始终保持固定位置,无论用户滚动页面的位置。本文将向您介绍如何使用HTML和CSS来实现一个简单的固定头部布局。首先,让我们创建一个基本的HTML结构。在6c04bd
2023-10-21

纯CSS怎样实现表单验证

这篇文章将为大家详细讲解有关纯CSS怎样实现表单验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在我们的日常业务中,表单验证是个很常见设计需求,像一些登录注册框,问卷调查也都需要用到表单验证。一般我们的
2023-06-08

微信小程序中怎么实现一个固定表头、列表格组件

微信小程序中怎么实现一个固定表头、列表格组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实现思路开始想用三个ScrollView去实现滚动联动,固定表头、列的话,表格内容
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录