前端开发攻略---合并表格单元格,表格内嵌套表格实现手风琴效果。

1、演示

2、思路

1、用传统的 <table></table> 表格标签来实现比较麻烦。因此通过模拟  表格标签 的写法用<div></div>来实现

2、表头和表格列数是相同的,因此可以确定代码结构

<div class="table"><div class="header"><div class="th"></div><div class="th"></div><div class="th"></div><div class="th"></div><div class="th"></div></div><div class="body"><div class="tr"><div class="td"></div><div class="td"></div><div class="td"></div><div class="td"></div><div class="td"></div></div></div></div>

3、上述代码表示为一个一行五列的表格

4、通过flex进行布局

5、通过数组的长度来平分嵌套表格每一列的宽度/高度

3、全部代码

<template><div class="table"><div class="header"><div class="th">Id</div><div class="th">名字</div><div class="th">年龄</div><div class="th">朋友</div><div class="th">性别</div></div><div class="body"><div class="tr" v-for="(item, index) in data"><div class="td">{{ item.id }}</div><div class="td">{{ item.name }}</div><div class="td">{{ item.age }}</div><div class="td" style="flex-direction: column"><p @click="item.hide = !item.hide">展开详情</p><divclass="content":style="{ height: item.hide ? '0px' : `${item.detail.length * 36}px` }":class="item.hide ? '' : 'haveTopBorder'":key="index"><div class="content-row" v-for="item1 in item.detail"><div class="content-td" v-for="item2 in item1" :style="{ '--l': item1.length }">{{ item2 }}</div></div></div></div><div class="td">是</div></div></div></div>
</template><script setup>
import { ref, reactive } from 'vue'const data = ref([{id: 1,name: '刘备',age: '18',detail: [['1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111'],],status: '男',hide: false,},{id: 2,name: '张飞',age: '50',detail: [['1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '', '1111'],['1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111', '1111'],],status: '男',hide: false,},{id: 3,name: '关羽',age: '29',detail: [['', '1111', '1111', '1111', '1111', '1111', '', '1111', '1111', '', '1111'],['1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111', '1111', ''],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],['1111', '', '1111', '1111', '', '1111', '1111', '1111', '1111', '1111', '1111'],],status: '男',hide: false,},
])
</script><style scoped lang="scss">
* {box-sizing: border-box;margin: 0;padding: 0;
}
.table {width: 1000px;border: 1px solid #eee;font-size: 14px;.header {display: flex;justify-content: space-between;align-items: stretch;background-color: #b6bece;color: #3c3c3c;padding: 8px 0;.th {padding-left: 8px;}}.body {width: 100%;.tr {display: flex;width: 100%;justify-content: space-between;align-items: stretch;border-bottom: 1px solid #eee;.td {border-right: 1px solid #eee;padding: 8px 4px;display: flex;justify-content: flex-start;align-items: center;}.td:last-child {border-right: 0;}}.tr:last-child {border-bottom: 0;}p {width: 100%;display: flex;align-items: center;text-align: left;padding: 8px 0;cursor: pointer;user-select: none;}}.th,.td {text-align: left;}.th:nth-child(1),.td:nth-child(1) {width: 70px;}.th:nth-child(2),.td:nth-child(2) {width: 100px;}.th:nth-child(3),.td:nth-child(3) {width: 130px;}.th:nth-child(4),.td:nth-child(4) {flex: 1;padding: 0 !important;}.th:nth-child(5),.td:nth-child(5) {width: 70px;}.content {width: 100%;overflow: hidden;transition: height 0.2s;.content-row {display: flex;width: 100%;border-bottom: 1px solid #eee;.content-td {padding: 8px;width: calc(100% / var(--l));border-right: 1px solid #eee;}.content-td:last-child {border-right: 0;}}.content-row:last-child {border-bottom: 0;}.content-row:nth-child(even) {background-color: rgb(116, 182, 218);}}.haveTopBorder {border-top: 1px solid #eee;}
}
</style>

4、温馨提示

您可以找个干净的页面直接整个复制,根据您的需求更改即可

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

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

相关文章

PotPlayer 图像截取

PotPlayer 图像截取 1. PotPlayer2. PotPlayer 下载2.1. PotPlayer 240305 3. 图像截取References 1. PotPlayer http://www.potplayercn.com/ PotPlayer 是 KMPlayer 原作者姜勇囍进入新公司 Daum 之后推出的&#xff0c;继承了 KMPlayer 所有的优点&#xff0c;拥有异常强大…

Flask项目在Pycharm中设置局域网访问

打开PyCharm导入本应用。点击Run标签中的Edit Configurations 其中Target type选择Script path&#xff0c;Target填入本项目中app.py的路径&#xff0c;Additional optional填入--host0.0.0.0(不要有空格)。 再重新运行项目&#xff0c;会观察到除了原本的http://127.0.0.1:50…

【EI会议征稿通知】2024年图像处理、机器学习与模式识别国际学术会议(IPMLP 2024)

2024年图像处理、机器学习与模式识别国际学术会议&#xff08;IPMLP 2024) 2024 International Conference on Image Processing, Machine Learning and Pattern Recognition 重要信息 大会官网&#xff1a;www.ipmlp.net&#xff08;点击参会/投稿/了解会议详情&#xff09;…

【赛题】2024年“华中杯”数模竞赛赛题发布

2024年"华中杯"数学建模网络挑战赛——正式开赛&#xff01;&#xff01;&#xff01; 赛题已发布&#xff0c;后续无偿分享各题的解题思路、参考文献&#xff0c;帮助大家最快时间&#xff0c;选择最适合是自己的赛题。祝大家都能取得一个好成绩&#xff0c;加油&a…

uiautomation、pytest、schedule实现桌面程序自动化(初级)02

一&#xff1a;安装uiAutomation 前置条件:安装python、pycharm 命令行安装 Pip install uiautomation2.0.17 #指定版本 二&#xff1a;安装辅助工具&#xff1a;inspect.exe和、Accessibility Insights For Windows定位元素工具 辅助工具介绍 步骤中提到…

Hive进阶(4)----MapReduce的计算过程(赋图助君理解)

MapReduce的计算过程 MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中&#xff0c;能够将数据处理任务分解成独立的部分&#xff0c;分配给多台计算机进行并行处理。这个模型由Google提出&#xff0c;并在开源领域中得到了广泛的应用和实现。Map…

无法连接到MongoDB Atlas 的Cloud Database

打开Mongodb网页: 选择允许任何地址连接 连接成功

Docker容器嵌入式开发:在Ubuntu上配置RStudio与R语言、可视化操作

目录 一、dirmngr工具二、R环境安装与配置三、验证是否安装成功四、安装Rstudio五、可视化操作参考 以上是在Ubuntu 18.04上安装最新版本的R语言环境的步骤摘要。首先&#xff0c;通过添加CRAN镜像源并安装GPG密钥来配置软件源。然后&#xff0c;更新软件包列表并通过apt安装R语…

SQL --索引

索引 INDEX 伪列 伪装起来的列&#xff0c;不容易被看见&#xff0c;要特意查询才能看见 ROWNUM&#xff1a; 是对查询结果自动生成的一组连续的自然数序号。 SELECT emp.*,ROWNUM FROM emp例题&#xff1a;查询emp表中&#xff0c;前三个员工 SELECT * FROM * from emp w…

【创建型模式】建造者模式

一、建造者模式概述 建造者模式定义&#xff1a;将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同得表示。(对象创建型模式)。 建造者模式分析&#xff1a; 1.将客户端与包含多个部件得复杂对象得创建过程分离&#xff0c;客户端无需知道复杂对象…

【unity】【C#】游戏音乐播放和发布

今天我们来认识一下有关 unity 音乐的一些知识 我们先创建 AudioClips 文件夹&#xff0c;这个文件夹通常就是 unity 中存放音乐的文件夹&#xff0c;然后拖进音乐文件进去 这里为大家提供了两个音乐&#xff0c;有需要可以自取 百度网盘&#xff1a;https://pan.baidu.com/s…

RIP最短路实验(华为)

思科设备参考&#xff1a;RIP最短路实验&#xff08;思科&#xff09; 一&#xff0c;技术简介 RIP&#xff08;Routing Information Protocol&#xff0c;路由信息协议&#xff09;是一种基于距离矢量的内部网关协议&#xff0c;工作原理是每个路由器周期性地向邻居路由器发…

React Ant Design 简单实现如何选中图片

效果&#xff1a; 代码&#xff1a; 定义的初始值和方法 const [selected, setSelected] useState(0); // 表示当前选中的图片索引const handleClick (index) > {if (selected index) {setSelected(null); // 如果点击的是已选中的图片&#xff0c;则取消选中状态} else…

JVM虚拟机(十)Java内存泄漏的排查思路

目录 一、可能产生内存泄露的地方二、复现堆内存泄漏三、如何排查堆内存问题&#xff1f;3.1 获取对内存快照 dump3.2 使用 Visual VM 去分析 dump 文件3.3 定位内存溢出问题 一、可能产生内存泄露的地方 在进行排查 Java 的内存泄漏问题之前&#xff0c;首先我们要知道哪里可…

【任务调度】Apache DolphinScheduler快速入门

Apache DolphinScheduler基本概念 概念&#xff1a;分布式、去中心化、易扩展的可视化DAG工作流任务调度系统。 作用&#xff1a;解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。Apache DolphinScheduler是一款开源的调度工具&#xff…

windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流

windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流 整体流程1.下载所需文件1. 1下载rtsp推流服务器1.2 下载ffmpeg2. 开启RTSP服务器3. opencv 读取摄像头并调用ffmpeg进行推流4. opencv进行拉流整体流程 1.下载所需文件 1. 1下载rtsp推流服务器 下载 RTSP服务器 下…

jenkins 部署 vue 项目

jenkins 部署 vue 项目 环境 系统&#xff1a;CentOS7.9 Jenkins&#xff1a;最新LTS版本 nginx: 1.24.x gitLab: 打包机&#xff1a;jenkins所在服务器 目标机器&#xff1a;nginx所在服务器 jenkins部署配置 关键脚本 #node -v #已经安装node_module就无需执行install安…

虚拟现实(VR)开发框架

虚拟现实&#xff08;VR&#xff09;开发框架为开发者提供了构建VR应用程序所需的基本工具和功能。它们通常包括3D引擎、场景图、输入系统、音频系统和网络功能。下面是一些流行的VR开发框架。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

怎样实现opc采集数据后传给web后端

现在很多老工厂要进行数字化改造&#xff0c;现场生产的各种数据需要传到web后端&#xff0c;很多工厂现场原有的自动监控系统已经采集了现场的各种数据&#xff0c;只是没有形成联网。如果前端自动化系统全部废除&#xff0c;重新做数字化控制系统&#xff0c;成本投入太大&am…

hexo实现个人博客及涉及的技术学习

一、背景 最近,一直想做一个属于自己的网站.可以从零开始搭建一个网站,顺便可以把日常中学到的技术用于实战,还可以顺便记录自己的所思所感,记录成长的过程. 方案 一开始的方案是从零开始,模仿常见个人博客的设计,基于vueSpringbootMySQL的去实现网站. 新建项目之后,发现vu…