前端技巧——复杂表格在html当中的实现

应用场景

有时候我们的表格比较复杂,表头可能到处割裂,我们还需要写代码去完成这个样式,所以学会在原生html处理复杂的表格还是比较重要的。

下面我们来看这一张图:

我们可以看到有些表头项的规格不太一样,有1*1 2*1 1*2等多种规模,我们的任务就是用html搭建好这个样式即可

语法介绍

我们使用html5的table 标签,我们的一个表设计两个部分:表头,表内容 ,分别对应theadtbody标签

我们使用tr 标识一行数据,th 表示表头的一格,td表示表内容的一格,

其中表标题包含在表头中,使用caption 标签即可声明,其和tr标签同级

我们设计这样一个表,首先数有多少行

然后将最顶上的第一行,写在第一个tr当中

然后将最顶上的第二行,写在第二个tr当中

碰到占两行的设置rowspan="2",

碰到占两列的设置colspan="2",

按照如上方法,我们就可以在html画出任何方格样式的图表了,下面是代码(注意样式哦):

html 复制代码
<!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>
        table {
            border-collapse: collapse;
            width: 100%;
        }

        th,
        td {
            border: 1px solid #000000;
            padding: 8px;
            text-align: center;
        }
    </style>
</head>

<body>
    <div id="root" style="width: 100vw;height: 100vh">
        <table>
            <thead>
                <caption style="color: red;">我是表的标题</caption>
                <tr class="oneRow">
                    <th rowspan="2">项目1</th>
                    <th rowspan="2">项目2</th>
                    <th colspan="2">项目3</th>
                    <th colspan="2">项目4</th>
                </tr>
                <tr class="oneRow">
                    <th>项目3-1</th>
                    <th>项目3-2</th>
                    <th>项目4-1</th>
                    <th>项目4-2</th>

                </tr>
            </thead>
            <tbody>
                <tr>
                    <td> 内容1 </td>
                    <td> 内容2 </td>
                    <td> 内容3 </td>
                    <td> 内容4 </td>
                    <td> 内容5 </td>
                    <td> 内容6 </td>
                </tr>
                <tr>
                    <td> 内容1 </td>
                    <td> 内容2 </td>
                    <td> 内容3 </td>
                    <td> 内容4 </td>
                    <td> 内容5 </td>
                    <td> 内容6 </td>
                </tr>
                <tr>
                    <td> 内容1 </td>
                    <td> 内容2 </td>
                    <td> 内容3 </td>
                    <td> 内容4 </td>
                    <td> 内容5 </td>
                    <td> 内容6 </td>
                </tr>
                <tr>
                    <td> 内容1 </td>
                    <td> 内容2 </td>
                    <td> 内容3 </td>
                    <td> 内容4 </td>
                    <td> 内容5 </td>
                    <td> 内容6 </td>
                </tr>
                <tr>
                    <td> 内容1 </td>
                    <td> 内容2 </td>
                    <td> 内容3 </td>
                    <td> 内容4 </td>
                    <td> 内容5 </td>
                    <td> 内容6 </td>
                </tr>

            </tbody>
        </table>
    </div>
</body>

</html>

使用插件

相关推荐
不好听6132 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus2 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子3 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech3 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn4 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧5 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw7 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯7 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117767 小时前
微光小屋-前端养成小游戏 开源项目
前端