前端技巧——复杂表格在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>

使用插件

相关推荐
一枚前端小能手11 分钟前
🏷️ HTML 属性参考 - 常用与全局属性的行为、兼容性与最佳实践
前端·javascript·html
付十一24 分钟前
更新!Figma MCP + Cursor:大前端时代的UI到代码自动化
android·前端·ai编程
万岳科技程序员小金28 分钟前
多端统一的教育系统源码开发详解:Web、小程序与APP的无缝融合
前端·小程序·软件开发·app开发·在线教育系统源码·教育培训app开发·教育培训小程序
软件架构师-叶秋30 分钟前
Vue3+tyepescript+ElementPlus+Axios前端技术栈
前端·vue3·elementplus
AAA阿giao34 分钟前
HTML/CSS/JS 页面渲染机制:揭秘浏览器如何将平凡代码点化为视觉魔法
前端·css·html
lichenyang45339 分钟前
从零到一:编写一个简单的 Umi 插件并发布到 npm
前端·react.js·前端框架
一颗宁檬不酸41 分钟前
ajxa实例操作
前端·ajax·api
文心快码BaiduComate42 分钟前
CCF程序员大会码力全开:AI加速营,10w奖金等你拿!
前端·后端·程序员
前端西瓜哥1 小时前
Figma 协同编辑是如何做用户状态同步的?
前端
OpenTiny社区1 小时前
不止按钮和表格!TinyVue 偷偷上线 Space 组件,直接搞定「弹性+间距」布局
前端·vue.js·github