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

使用插件

相关推荐
Y425812 小时前
本地多语言切换具体操作代码
前端·javascript·vue.js
速易达网络14 小时前
Bootstrap 5 响应式网站首页模板
前端·bootstrap·html
etsuyou14 小时前
js前端this指向规则
开发语言·前端·javascript
lichong95114 小时前
Android studio 修改包名
android·java·前端·ide·android studio·大前端·大前端++
cai_huaer14 小时前
BugKu Web渗透之 cookiesWEB
前端·web安全
lichong95114 小时前
Git 检出到HEAD 再修改提交commit 会消失解决方案
java·前端·git·python·github·大前端·大前端++
@yanyu66615 小时前
Tomcat安装与HTML响应实战
java·tomcat·html
友友马15 小时前
『 QT 』QT控件属性全解析 (一)
开发语言·前端·qt
不想上班只想要钱15 小时前
vue3+vite创建的项目,运行后没有 Network地址
前端·javascript·vue.js
流***陌16 小时前
手办盲盒抽赏小程序前端功能设计:兼顾收藏需求与抽赏乐趣
前端·小程序