通过前面的知识,我们实现了使用网格线网格区域来进行单元格的布局,几乎每个网格都是单独占用一个单元格,但在最后的一个例子中,实现了横跨几个单元格的网格,这就是单元格的合并,类似于table表格中的单元格合并。接下来我们通过用不同的方法来实现单元格的合并,在所有的例子中,都是针对下面结构的样式修改。

<div class="demo">
  <div class="box a">A</div>
  <div class="box b">B</div>
  <div class="box c">C</div>
  <div class="box d">D</div>
  <div class="box e">E</div>
  <div class="box f">F</div>
  <div class="box g">G</div>
  <div class="box h">H</div>
</div>

基于网格线实现单元格合并

现在,假如我们想要实现上面的网格效果,我们先分析一下网格构成,这是一个7行7列的网格,其中A横跨5个单元格,所以其起止网格线为1 / 1 / 2 / 6,B纵跨7个单元格,从图中可以看出,其起止网格线为1 / 7 / 8 / 8,剩下的类似

.demo {
  display: grid;
  grid-template-columns: 100px 10px 100px 10px 100px 10px 100px;
  grid-template-rows: auto 10px auto 10px auto 10px auto;
}
.box {
  background-color: #444;
  color: #fff;
  font-size: 150%;
  padding: 20px;
  text-align: center;
}
.a{grid-area: 1 / 1 / 2 / 6;}
.b {grid-area: 1 / 7 / 8 / 8;}
.c {grid-area: 3 / 1 / 4 / 2;}
.d {grid-area: 3 / 3 / 4 / 4;}
.e {grid-area: 3 / 5 / 6 / 6;}
.f {grid-area: 5 / 1 / 6 / 4;}
.g {grid-area: 7 / 1 / 8 / 2;}
.h {grid-area: 7 / 3 / 8 / 6;}

使用span实现单元格合并

在上面通过计算每个网格区域的起始行列网格线来实现单元格的合并,还有一种类似的方法实现同样的效果,那就是使用span匹配网格线来实现,具体做法如下:

.demo {
  display: grid;
  grid-template-columns: 100px 10px 100px 10px 100px 10px 100px;
  grid-template-rows: auto 10px auto 10px auto 10px auto;
}
.box {
  background-color: #444;
  color: #fff;
  font-size: 150%;
  padding: 20px;
  text-align: center;
}
.a{
  grid-column:1 / span 5;
  grid-row:1;
}
.b {
  grid-column:7;
  grid-row:1 / span 7;
}
.c {
  grid-column:1;
  grid-row:3;
}
.d {
  grid-column:3;
  grid-row:3;
}
.e {
  grid-column:5;
  grid-row:3 / span 3;
}
.f {
  grid-column:1 / span 3;
  grid-row:5;
}

.g {
  grid-column:1;
  grid-row:7;
}
.h {
  grid-column:3 / span 3;
  grid-row:7;
}

其中grid-column:1 / span 5;代表网格区域a的列起始线为1,纵跨5个单元格,即列终止线为6,grid-row:1;代表区域a的行起始线为1,横跨1个单元格(span 1省略),即行终止线为2,grid-row:3 / span 3;代表区域e的行起始线为3,横跨3个单元格,即行终止线为6,其他的类似。

参考资料

CSS Grid布局:合并单元格布局:https://www.w3cplus.com/css3/css-grid-layout-merge-cells.html

转载于:https://www.cnblogs.com/yuyujuan/p/8479152.html

网格布局之合并单元格相关推荐

  1. 如何实现flex栅格布局及合并单元格

    注意事项 三格展示,注意border,会有重合2像素问题,需单独设置 最后一行特色服务需要合并单元格 <div class="row-wrap"><div cla ...

  2. rowspan table布局_table合并单元格colspan和rowspan

    colspan和rowspan这两个属性用于创建特殊的表格. colspan是"column span(跨列)"的缩写.colspan属性用在td标签中,用来指定单元格横向跨越的列 ...

  3. 快速开发平台网格部件合并单元格。

    度量快速开发平台中网格部件中的单元格,在合并的时候触发,根据实现代码的内容来判断哪些单元格可以合并,哪些单元格不能合并.注意:要启用单元格合并事件,需要先设置网格部件的属性"允许单元格合并& ...

  4. rowspan table布局_css如何实现table表格的单元格合并?colspan和rowspan合并单元格(实例)...

    在前端开发中,html 表单是经常被使用到的,表单可以直观的把信息展现出来,有很好的交互功能:在表单中可以把同一类的信息合并在一起显示,这就需要把同一类的单元格合并在一起,那么怎样才能用css合并单元 ...

  5. 高中计算机合并单元格,2020年新版高中信息技术会考操作题教程.docx

    word 操作 (一)标题文字操作 1. 设置标题文字字体.字号.颜色.加粗.居中 等,都可以按照下图设置 首先选中要设置的标题,然后进行相关设置. 居中对齐左边的是左对齐,这个你看形状应该就能看出来 ...

  6. 记一次用iview实现表格合并单元格的具体操作

    记一次用iview实现表格"合并"单元格的具体操作 最近做项目使用iview框架做后台管理系统,第一次使用iview遇到过很多问题,有些小坑也都在网上找到解决方案了,可作为一个通用 ...

  7. easyexcel读取合并单元格内容_一周一个小技巧 | excel不会核对内容?不会填充合并单元格?7个实用的EXCEL技巧,一起来看看吧...

    上方蓝色字,获取更多就业信息~ 1 两列姓名核对  如果要核对表二中的姓名在表一中有没有出现,一个公式马上搞定.=IF(COUNTIF(A:A,C2),"是","否&qu ...

  8. 【EasyUI】DataGrid 合并单元格 - 使用实例

    官方文档 - EasyUI 合并单元格 为了合并数据网格(datagrid)单元格,只需简单地调用 'mergeCells' 方法,并传入合并信息参数,告诉数据网格(datagrid)如何合并单元格. ...

  9. html统计表合并单元格的快捷键,word怎样设置合并单元格快捷键

    word2010中合并单元格的快捷键是什么?求解答. 合并单元格没有快捷键,不过有个f4是重复上一步操作,所以你要合并多个单元格,那么你可以先点一合并单元格,然后选定你要合并的区域. WORD合并单元 ...

最新文章

  1. UNIX编程笔记:关于停止的进程接收信号的问题
  2. 程序员为什么会有职业瓶颈?
  3. springboot整合springSecurity使用
  4. SQL 基础之DDL语句创建和管理表(十四)
  5. python一次性读取整个文件-Python逐行读取文件内容
  6. python手机版代码-Python手机号码归属地查询代码
  7. 字典和json 的区别 和转换
  8. 通过OWA修改密码,提示您输入的密码不符合最低安全要求
  9. 对于 CDN 的多元理解
  10. linux wine 性能,Wine 1.9.16 发布,改善 GDI 性能
  11. http://101.132.165.115/
  12. Linux命令----cat
  13. 修改百度搜索结果的标题
  14. 怎么将一个类的成员函数作为指针传递给另一个类的成员函数
  15. selenium脚本编写的注意点,那些我踩过的坑
  16. Sep 12.1.4112.4156部署客户端
  17. weblogic启动失败:Could not obtain the localhost address 解决办法
  18. Mac009--Axure RP安装
  19. word vba 控制光标常用代码
  20. 脑洞啊!3D打印数字式日晷,原理简单,设计巧妙

热门文章

  1. 机械清洗时洗衣液加入运作过程中大量泡沫出现洗衣液专用消泡粉
  2. 计算机需要什么才能连接网络,计算机必须安装网卡,才可以连接到Internet 。
  3. Word表格占满整页,怎样删除后面的回车和空白页?
  4. AddressSanitizer的错误输出分析
  5. spyder python教程_【python spyder怎么用】spyder python使用教程
  6. 移动机器人多模态自主导航详解
  7. lab值意义_色差仪上的字母Lab值代表什么意思
  8. Python爬虫--urllib3
  9. 解决github文件夹有向右的白色箭头并且不能打开的解决办法
  10. Orangepi 香橙派 wiringOP 安装 OrangePi.GPIO 安装