table 固定列宽,制作中间滚动,两边固定的效果

news2024/10/22 17:56:59

        在开发过程中,遇到一个问题,就是固定表格,合并等,,固定又分为,固定头,左侧固定,右侧固定等,因为内容填充的不确定性,表格有些为自定义宽度,有些默认自适应。

        如何固定表单宽度呢,在这给个示例

注意点: table 设置属性 table-layout: fixed;   

               中间滚动的 table宽度必须足够大,可以有滚动的距离,

        否则:设置的col 宽度不生效

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="fix-table fix-table-page-new1">
        <div class="table-title">固定表格标题</div>
        <div class="flex-table c-333 fz24">
            <div class="flex-table-content">
                <table cellspacing="0" cellpadding="0" class='fixed-table' id="boxContent">
                    <caption></caption>
                    <colgroup>
                        <col width='40'>
                        </col>
                        <col>
                        </col>
                        <col width='68'>
                        </col>
                        <col>
                        </col>
                        <col width='40'>
                        </col>
                    </colgroup>
                    <thead>
                        <tr class="table-title-txt" style="background: #FCEFDF;">
                            <th>
                                <div>固定左侧1</div>
                            </th>
                            <th>
                                <div>固定左侧2</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>固定右侧1</div>
                            </th>

                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="flex-table-left" style="width:40px">
                <table cellspacing="0" cellpadding="0" class='fixed-table'  id="boxLeft">
                    <caption></caption>
                    <colgroup>
                        <col width='40'>
                        </col>
                        <col >
                        </col>
                        <col width='68'>
                        </col>
                        <col>
                        </col>
                        <col width='40'>
                        </col>
                    </colgroup>
                    <thead>
                        <tr class="table-title-txt" style="background: #FCEFDF;">
                            <th>
                                <div>固定左侧1</div>
                            </th>
                            <th>
                                <div>固定左侧2</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>固定右侧1</div>
                            </th>

                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="flex-table-right" style="width:40px">
                <table cellspacing="0" cellpadding="0" class='fixed-table' id="boxRight">
                    <caption></caption>
                    <colgroup>
                        <col width='40'>
                        </col>
                        <col >
                        </col>
                        <col width='68'>
                        </col>
                        <col>
                        </col>
                        <col width='40'>
                        </col>
                    </colgroup>
                    <thead>
                        <tr class="table-title-txt" style="background: #FCEFDF;">
                            <th>
                                <div>固定左侧1</div>
                            </th>
                            <th>
                                <div>固定左侧2</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>标题1</div>
                            </th>
                            <th>
                                <div>固定右侧1</div>
                            </th>

                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                            <td>
                                <div>内容</div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</body>
<style>
    ::-webkit-scrollbar {
    display: none;
}
    .fix-table-page-new1 {
        position: relative;
        padding-bottom: 4px;


    }

    .table-title {
        background: #CD833C;
        font-weight: 600;
        font-size: 24px;
        padding: 20px;
        color: #FFFFFF;
    }
    .flex-table {
        position: relative;
        border-left: thin solid #DEDEDE;
        text-align: center;
        line-height: 1.3;

    }

    .fixed-table {
        line-height: 32px;
        color: #333333;
        border-collapse: collapse;
        table-layout: auto;
        table-layout: fixed;
        width: auto;
    }

    th,
    td {
        border-right: thin solid #DEDEDE;
        border-bottom: thin solid #DEDEDE;
        padding: 10px 0;

    }

    tr:nth-child(2n+1) {
        th,
        td {
            background: #f5f5f5;
        }
    }

    .flex-table-content {
        width: 100%;
        overflow: scroll;
    }
    .flex-table-left,.flex-table-right{
        width: 100%;
        height: 100%;
        position: absolute;
        width: 100%;
        left: 0;
        top: 0;
        overflow: hidden;
        box-shadow: 8px 0px 10px 0px rgba(0, 0, 0, 0.1);
        z-index: 2;
        background-color: #fff;
        .fixed-table{
            position: absolute;
            left: 0;
            height: 100%;
        }
    }
    .flex-table-right {
        box-shadow: -8px 0px 10px 0px rgba(0, 0, 0, 0.1);
        left:initial;
        right: 0;
        .fixed-table{
            position: absolute;
            right: 0;
            left:initial;
            height: 100%;
        }

    }

    .left-box {
        border-right: thin solid #DEDEDE;
        border-bottom: thin solid #DEDEDE;
        flex: 0 0 133px;
        padding: 10px;
    }

</style>
<script>
    let boxContent = document.getElementById('boxContent');
    let boxLeft = document.getElementById('boxLeft');
    let boxRight = document.getElementById('boxRight');
    boxContent.style.width = '1200px'
    boxLeft.style.width = '1200px'
    boxRight.style.width = '1200px'
</script>
       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2220959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西南交通大学计算机软件专业上岸难度分析

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南交通大学计算机科学与技术2024届考研难度整体呈现"稳中有升"的态势。学硕实际录取33人&#xff0c;复试分数线362分&#xff0c;复试录取率71.74%&#xff1b;专硕&#xff08;计算机技术&#xff09;实际…

Java 输入与输出(I/O)流的装饰流【处理流】

Java I/O流的装饰流 按照Java 输入与输出&#xff08;I/O)流的处理功能&#xff1a;I/O流可分为低级的节点流和高级的装饰流&#xff08;又称处理流&#xff09;。 节点流是直接从数据源&#xff08;数据源可以是文件、数组、内存或网络&#xff09;读/写数据的输入输出流&am…

021_Thermal_Transient_in_Matlab统一偏微分框架之热传导问题

Matlab求解有限元专题系列 固体热传导方程 固体热传导的方程为&#xff1a; ρ C p ( ∂ T ∂ t u t r a n s ⋅ ∇ T ) ∇ ⋅ ( q q r ) − α T d S d t Q \rho C_p \left( \frac{\partial T}{\partial t} \mathbf{u}_{\mathtt{trans}} \cdot \nabla T \right) \nab…

三个必须了解的知乎知+广告账户知识!

作为国内领先的问答社区&#xff0c;知乎以其高质量的内容和深度讨论吸引了大量专业和兴趣导向的用户群体。对于希望精准触达目标用户的广告主来说&#xff0c;知乎的信息流广告无疑是一个不可多得的营销渠道&#xff0c;云衔科技助力企业知乎广告开户投放及代运营服务。 1. 知…

【rom分享】PSP体育游戏大众高尔夫玩法介绍,不要错过

各位新老观众大家好&#xff0c;今天我将介绍知名掌机PSP的所有游戏&#xff0c;PSP的游戏库非常庞大&#xff0c;随着PSP模拟器的普及&#xff0c;你可以在安卓和苹果两大平台的移动设备上游玩&#xff0c;也可以在PC上面游玩&#xff0c;当然你也可以收藏一个PSP掌机进行游玩…

python3的语法及入门(近7000字,耐心看包全,看完记得点赞)!

1. Python3 基础语法 缩进&#xff1a;Python 使用缩进来表示代码块&#xff0c;通常使用 4 个空格。 语句&#xff1a;一行代码就是一个语句。 变量&#xff1a;不需要声明类型&#xff0c;直接赋值即可。 2. Python3 基本数据类型 Python 中的基本数据类型包括整数、浮点…

Shell学习——shell中的变量

目录 一、父shell和子shell&#xff1a; 二、系统预定变量 定义方式&#xff1a; 脚本举例 ​编辑 四、只读变量 五、撤销变量 六、小结 七、特殊变量 $n $# $*、$ $? 一、父shell和子shell&#xff1a; 由于shell的原理可以理解为套娃&#xff0c;因此有父shell…

【实战案例】Django框架连接并操作数据库MySQL相关API

本文相关操作基于上次操作基本请求及响应基础之上【实战案例】Django框架基础之上编写第一个Django应用之基本请求和响应 Django框架中默认会连接SQLite数据库&#xff0c;好处是方便无需远程连接&#xff0c;打包项目挪到其他环境安装一下依赖一会就跑起来&#xff0c;但是缺点…

你知道吗?这个岗位只招2人,但HR那边却收到了1w份简历

引言 在当前经济环境下&#xff0c;求职者面临的挑战越来越大。互联网行业尤其如此&#xff0c;许多人挤破头都想进入大厂&#xff0c;但竞争异常激烈。如今的就业市场确实变得异常艰难。然而&#xff0c;随着AI大模型技术的兴起&#xff0c;对于那些掌握了相关技能的专业人才…

学习笔记——交换——STP(生成树)基本概念

三、基本概念 1、桥ID/网桥ID (Bridege ID&#xff0c;BID) 每一台运行STP的交换机都拥有一个唯一的桥ID(BID)&#xff0c;BID(Bridge ID/桥ID)。在STP里我们使用不同的桥ID标识不同的交换机。 (2)BID(桥ID)组成 BID(桥ID)组成(8个字节)&#xff1a;由16位(2字节)的桥优先级…

Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

wordcloud分词生成

代码如下 _ from wordcloud import WordCloud import PIL.Image as image import numpy as np import jiebadef cut(text):word_list jieba.cut(text,cut_all True)# 分词后在单独个体之间加上空格result " ".join(word_list)return result#导入文本文件,进行分词…

免费ppt模板从哪找?全面又实用的PPT模板就在这找

就是说有多少刚上大学的朋友&#xff0c;为了交一份完美的PPT报告&#xff0c;手写列大纲、找报告文献/插图素材......最后手动整理排版&#xff0c;老老实实地熬了几个大夜&#xff1f; 24年都快结束啦&#xff0c;大家还没学会去免费的ppt模板网站下载精美的主题PPT一键替换吗…

政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu (Linux ) 系统应用Gradio-Lite:无服务器 Gradio 完全在浏览器中运行

目录 简介 什么是@gradio/lite? 入门 1.导入 JS 和 CSS 2. 创建标签 3. 在标签内编写你的 Gradio 应用程序 更多示例:添加其他文件和要求 多个文件 其他要求 SharedWorker 模式 代码和演示playground 1.无服务器部署 2.低延迟 3. 隐私和安全 限制 尝试一下!…

VScode远程开发之remote 远程开发(二)

VScode远程开发之remote 远程开发&#xff08;二&#xff09; 使用vscode进行远程开发很简单&#xff0c;在拓展里搜索 Remote Development&#xff0c;就可以搜索到微软提供的远程开发大礼包&#xff0c;里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL&#xff08;Win…

亚马逊测评自养号技术及采购下单成功率揭秘

在亚马逊测评中&#xff0c;自养号面临砍单、买家号关联等问题时&#xff0c;需要采取一系列策略和技术手段来提高采购下单的成功率。以下是一些具体的解决方案&#xff1a; 一、解决砍单问题 1.确保硬件参数独立 每个账号应使用具有独特硬件标识的设备&#xff0c;如IMEI、…

【大模型实战篇】大模型分词算法WordPiece分词及代码示例

继《大模型数据词元化处理BPE(Byte-Pair Encoding tokenization)》之后&#xff0c;我们针对大模型原始数据的分词处理&#xff0c;继续分享WordPiece分词技术【1】。 1. 原理分析 WordPiece 是 Google 开发的分词算法&#xff0c;用于预训练 BERT。此后&#xff0c;它被多个基…

uni-app中添加自定义相机(微信小程序+app)

一、微信小程序中 微信小程序中可以直接使用camera标签&#xff0c;这个标签不兼容app&#xff0c;官方文档 <cameradevice-position"back"flash"off":style"{ height: lheight px, width: lwidth px }"class"w-full"></c…

vue3【实战】 渲染 md 文件(markdown语法 .md后缀的文件)

1. 安装相关插件 npm i unplugin-vue-markdown markdown-it-prism prism unhead/vue2. 添加配置 src/main.ts // 给 md 文件创建头部 import { createHead } from unhead/vue // md 文件中代码高亮的样式 import prismjs/themes/prism.css // 自定义 md 文件的样式 import /as…

【JAVA面试题】什么是Springboot的自动配置以及注意事项

文章目录 强烈推荐核心概念&#xff1a;自动配置的关键特点&#xff1a;示例&#xff1a; 需要注意的点1.默认配置可能不适合所有场景2.Bean 冲突与覆盖3.应用启动慢的问题4.过度依赖自动配置5.安全性问题6.依赖冲突与版本兼容7.过多不必要的自动配置8.调试困难 专栏集锦 强烈推…