iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >CSS如何实现表格首行首列固定和自适应窗口
  • 258
分享到

CSS如何实现表格首行首列固定和自适应窗口

2023-06-08 01:06:08 258人浏览 安东尼
摘要

这篇文章主要讲解了“CSS如何实现表格首行首列固定和自适应窗口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS如何实现表格首行首列固定和自适应窗口”吧!先了解几个概念:table-lay

这篇文章主要讲解了“CSS如何实现表格首行首列固定和自适应窗口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS如何实现表格首行首列固定和自适应窗口”吧!

先了解几个概念:

table-layout:

table-layout属性有两种特定值:
auto(预设值)-表格的总宽度决定每一个储存格(cell)的最大值
fixed - 表格的总宽度决定于表格width的定义,以及各栏位(column)width的定义, 没有定义宽度就平分表格宽度。
表格宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定,其他行单元格的宽度不会影响整列的宽度。
注意:自定义宽度要定义在首个单元格才有效果(th)

position : sticky

粘性定位可以被认为是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。
在目标区域中可见时,他的行为就像relative 不会有任何变化,而当页面滚动超出目标区域时,他的表现改为fixed会固定于目标位置
sticky元素会“固定”在离它最近的一个拥有“滚动机制”的祖先上(当该祖先的overflow是hidden、scroll、auto、overlay时), 即便这个祖先不是最近的真实可滚动祖先。
要注意的是当position : sticky应用于table,只能作用于th和td,作用tr没有效果,并且一定要定义目标位置 left / right / top / bottom 才会出现固定效果!

实现:

1.自适应
表格外包一层div,宽度100% ,溢出出现滚动条

.box {      width: 100%;      height: 200px;      background-color: #eee;      overflow: auto;       margin: 10px;    }

表格table, 宽度100%, 设置一个最小宽度,我这里设置1000px,这个根据个人设定哈

table {      width: 100%;      min-width: 1000px;             table-layout: fixed;            border-spacing:0;    }

固定首行首列
需要在首行th 和首列设置粘性定位
首行设置

thead tr th {            background-color: pink;      position: sticky;      top: 0;                border-top: 1px solid black;    }

首列设置

 td:first-child {            position: sticky;      left: 0;      background-color: skyblue;    }

如果需要改变单元格宽度,需要设置table-layout: fixed
这个属性设置了默认单元格平分table宽度,如果首列第一个单元格(th)设置了固定宽度200px,那么这列宽度就是200px
注意是第一个单元格

td:first-child,th:first-child {                  width: 200px;         border-left: 1px solid black;    }

还有一个注意地方是 边框border,要单独设定每个单元格边框border, 如果border collapse,滚动会跟着动,效果不好看。

整体代码:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title>  <style>    * {      padding: 0;      margin: 0;    }    .box {      width: 100%;      height: 200px;      background-color: #eee;      overflow: auto;      margin: 10px;    }    table {      width: 100%;      min-width: 1000px;             table-layout: fixed;            border-spacing:0;    }        td,th {      border-bottom: 1px solid black;      border-right: 1px solid black;      box-sizing: border-box;            white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    td:first-child,th:first-child {                  width: 200px;         border-left: 1px solid black;    }        td:last-child, th:last-child {      border-right: 1px solid black;    }    th:last-child, td:last-child {      border-right: 1px solid black;    }    .last td {            border-bottom: 1px solid black;    }        thead tr th {            background-color: pink;      position: sticky;      top: 0;                border-top: 1px solid black;    }       td:first-child {            position: sticky;      left: 0;      background-color: skyblue;    }    thead tr th:first-child {            z-index: 1;      left: 0;    }  </style></head><body>  <div class="box">  <table  >    <thead>      <tr>      <th>姓名</th>      <th>学号</th>      <th>年龄</th>      <th>成绩</th>      <th>爱好</th>    </tr>    </thead>    <tbody>      <tr>        <td>可乐11111111111111111111111111111111111111111111111111111111</td>        <td>可乐11111111</td>        <td>可乐222222222</td>        <td>可乐333333333333333333333333333</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>      <tr class="last">        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>        <td>可乐</td>      </tr>    </tbody>  </table></div></body></html>

效果:(做的还不是很好,继续加油)

CSS如何实现表格首行首列固定和自适应窗口

感谢各位的阅读,以上就是“CSS如何实现表格首行首列固定和自适应窗口”的内容了,经过本文的学习后,相信大家对CSS如何实现表格首行首列固定和自适应窗口这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: CSS如何实现表格首行首列固定和自适应窗口

本文链接: https://www.lsjlt.com/news/250956.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • CSS如何实现表格首行首列固定和自适应窗口
    这篇文章主要讲解了“CSS如何实现表格首行首列固定和自适应窗口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS如何实现表格首行首列固定和自适应窗口”吧!先了解几个概念:table-lay...
    99+
    2023-06-08
  • css如何实现两列固定与一列自适应
    这篇文章将为大家详细讲解有关css如何实现两列固定与一列自适应,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.flex布局Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型...
    99+
    2023-06-08
  • ​CSS如何实现表格列宽自适用
    这篇文章主要为大家展示了“CSS如何实现表格列宽自适用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS如何实现表格列宽自适用”这篇文章吧。CSS:表格列宽自...
    99+
    2024-04-02
  • css如何实现两栏固定中间自适应
    小编给大家分享一下css如何实现两栏固定中间自适应,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、利用绝对定位和margin此方法的原理说将左右两侧进行定位,让...
    99+
    2023-06-08
  • CSS实现三列布局两端固定宽度中间自适应
    这篇文章主要讲解了“CSS实现三列布局两端固定宽度中间自适应”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS实现三列布局两端固定宽度中间自适应”吧! ...
    99+
    2024-04-02
  • JS如何实现DIV高度自适应窗口
    这篇文章主要为大家展示了“JS如何实现DIV高度自适应窗口”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现DIV高度自适应窗口”这篇文章吧。具体如下:...
    99+
    2024-04-02
  • CSS如何实现两栏布局,左边固定,右边自适应
    这篇文章主要介绍CSS如何实现两栏布局,左边固定,右边自适应,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. float+overflow:hidden这种办法主要通过 overflow 触发 BFC,而 BFC ...
    99+
    2023-06-08
  • html如何实现左侧固定,右侧自适应
    这篇文章主要为大家展示了“html如何实现左侧固定,右侧自适应”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html如何实现左侧固定,右侧自适应”这篇文章吧。第...
    99+
    2024-04-02
  • flex布局如何实现每行固定数量+自适应布局
    这篇文章主要介绍flex布局如何实现每行固定数量+自适应布局,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:效果展示解析 <div class="template"...
    99+
    2023-06-08
  • vbs如何实现图片自适应表格
    这篇文章给大家分享的是有关vbs如何实现图片自适应表格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1.上传的时候可以将图片高宽存到数据库里,用的时候调出来判断,但那种方法相比较下边的麻烦. 2.用V...
    99+
    2023-06-08
  • css如何实现左侧固定右侧自适应的布局方式
    小编给大家分享一下css如何实现左侧固定右侧自适应的布局方式,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一.浮动布局先让固定宽度的div浮动!使其脱离文档流。 2.margin-left的值等于固定div的宽度相等。&n...
    99+
    2023-06-08
  • css如何实现右侧固定宽度以及左侧宽度自适应
    这篇文章主要介绍了css如何实现右侧固定宽度以及左侧宽度自适应,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。反过来也可以:左侧宽度固定,右侧自适应。不管是左是右,反正就是一边...
    99+
    2023-06-08
  • EasyUI如何实现数据表格datagrid列自适应内容宽度
    这篇文章将为大家详细讲解有关EasyUI如何实现数据表格datagrid列自适应内容宽度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目初期在加载数据表格的时候为了提高...
    99+
    2024-04-02
  • HTML和CSS如何实现宽高自适应
    小编给大家分享一下HTML和CSS如何实现宽高自适应,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!宽度自适应元素宽度设置为100...
    99+
    2024-04-02
  • 如何使用CSS实现自适应的多列布局
    随着移动设备的普及,越来越多的网站需要适应不同屏幕尺寸。使用CSS实现自适应的多列布局是一个重要的技巧,可以让你的网站在各种设备上都能够展现良好的效果。本文将介绍如何使用CSS实现自适应的多列布局,并给出具体的代码示例。一、使用Flexbo...
    99+
    2023-10-21
    自适应布局 CSS布局 多列布局
  • Bootstrap如何实现渐变顶部固定自适应导航栏
    这篇文章主要介绍Bootstrap如何实现渐变顶部固定自适应导航栏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码如下所示:<!DOCTYPE html>...
    99+
    2024-04-02
  • 如何实现独行DIV自适应宽度布局CSS
    这篇文章主要讲解了“如何实现独行DIV自适应宽度布局CSS”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现独行DIV自适应宽度布局CSS”吧!  关键...
    99+
    2024-04-02
  • CSS三栏布局中如何进行中间固定宽度两边自适应宽度
    这期内容当中小编将会给大家带来有关CSS三栏布局中如何进行中间固定宽度两边自适应宽度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 今天早上...
    99+
    2024-04-02
  • 如何使用HTML和CSS实现网格列表布局
    在现代网页设计中,网格列表布局成为了一个非常常见的布局模式。它可以帮助我们轻松地创建出漂亮的网页,让内容清晰地排列在网页中。本文将介绍如何使用HTML和CSS来实现网格列表布局,并提供具体的代码示例。首先,我们需要使用HTML来构建网页的基...
    99+
    2023-10-21
    CSS html 网格布局
  • Vue动态生成表格的行和列如何实现
    本篇内容主要讲解“Vue动态生成表格的行和列如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue动态生成表格的行和列如何实现”吧!具体的实现代码如下:<template>&n...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作