目录

方式一:table【最简单写法】

方式二:display: table--不推荐

方式三:display: flex

方式四:display: grid


效果图:

方式一:table【最简单写法】

  • colspan:规定单元格可横跨的列数。
  • rowspan:规定单元格可横跨的行数。

通过table的colspan和rowspan轻松实现单元格合并。

边框设置:th/td 加右下边框,table加左上边框。

<!--html-->
<table border="0" cellspacing="0" cellpadding="0"><tr><th style="width: 100px;">种类</th><th style="width: 100px;">名称</th><th>描述</th></tr><tr><td rowspan="2">水果</td><td>香蕉</td><td>香蕉(学名:Musa nana Lour.)是芭蕉科、芭蕉属植物。植株丛生,具匐匍茎,矮型的高3.5米以下,一般高不及2米...</td></tr><tr><td>苹果</td><td>苹果(Malus pumila Mill.),是落叶乔木,通常树木可高至15米,但栽培树木一般只高3-5米左右...</td></tr><tr><td colspan="2">其他</td><td>--</td></tr>
</table><!--css-->
<style>table {width: 600px;table-layout: fixed;border-left: 1px solid #ddd;border-top: 1px solid #ddd;}th, td {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;vertical-align: middle;text-align: center;padding: 12px 0;color: #666;font-size: 14px;}th {font-weight: normal;}
</style>

方式二:display: table--不推荐

外层div.distable设置样式display: table;

内层div.distable-cell*设置样式display: table-cell;

table布局下,可以实现合并单元格效果。有两点说明:

1)为合并单元格的行 设置边框时,比较复杂,容易错位。

2)浏览器缩放到200+%展示时,此布局会变形。

因此,这种写法并不推荐。

<div><div class="distable border-sub-rb border-lt"><div class="distable-cell1">种类</div><div class="distable-cell1">名称</div><div class="distable-cell2">描述</div></div><div class="distable border-l"><div class="distable-cell1 border-rb" style="background-color: #ddd;border-color: red">水果</div><div class="distable-cell3"><div class="distable border-sub-rb"><div class="distable-cell1">香蕉</div><div class="distable-cell2">香蕉(学名:Musa nana Lour.)是芭蕉科、芭蕉属植物。植株丛生,具匐匍茎,矮型的高3.5米以下,一般高不及2米...</div></div><div class="distable border-sub-rb"><div class="distable-cell1">苹果</div><div class="distable-cell2">苹果(Malus pumila Mill.),是落叶乔木,通常树木可高至15米,但栽培树木一般只高3-5米左右...</div></div></div></div><div class="distable border-r"><div class="distable-cell4 border-lb">其他</div><div class="distable-cell2 border-bl" style="background-color: #ddd;border-color: red">--</div></div>
</div><style>.distable {display: table;color: #666;font-size: 14px;box-sizing: border-box;}[class*=distable-cell] {display: table-cell;text-align: center;vertical-align: middle;box-sizing: border-box;}.distable-cell1 {width: 100px;}.distable-cell2 {width: 400px;padding: 12px 0;}.distable-cell3 {width: 500px;}.distable-cell4 {width: 200px;}.border-sub-rb [class*=distable-cell] {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;padding: 12px 0;}.border-lt {border-left: 1px solid #ddd;border-top: 1px solid #ddd;}.border-lb {border-left: 1px solid #ddd;border-bottom: 1px solid #ddd;}.border-l {border-left: 1px solid #ddd;}.border-rb {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;}.border-bl {border-bottom: 1px solid #ddd;border-left: 1px solid #ddd;}.border-r {border-right: 1px solid #ddd;}
</style>

方式三:display: flex

flex布局下,可以实现合并单元格效果。有两个难点:

1)合并单元格的垂直居中效果:flex布局嵌套,内层的flex设置align-items: center;

2)边框的设置:设置比较复杂,容易错位。

虽然可以实现合并单元格效果,并不推荐。

<div style="width: 600px;"><div class="flex-box border-sub-rb border-lt"><div class="flex-cell1">种类</div><div class="flex-cell1">名称</div><div class="flex-cell2">描述</div></div><div class="flex-box border-l"><div class="flex-cell1 border-b flex-cc" style="background-color: #ddd;border-color: red"><div>水果</div></div><div class="flex-cell3 border-r"><div class="flex-box border-sub-bl"><div class="flex-cell1 flex-cc"><div>香蕉</div></div><div class="flex-cell2 flex-cc" style="background-color: #ddd;border-color: red"><div>香蕉(学名:Musa nana Lour.)是芭蕉科、芭蕉属植物。植株丛生,具匐匍茎,矮型的高3.5米以下,一般高不及2米...</div></div></div><div class="flex-box border-sub-bl"><div class="flex-cell1 flex-cc"><div>苹果</div></div><div class="flex-cell2 flex-cc"><div>苹果(Malus pumila Mill.),是落叶乔木,通常树木可高至15米,但栽培树木一般只高3-5米左右...</div></div></div></div></div><div class="flex-box"><div class="flex-cell4 border-lb flex-cc"><div>其他</div></div><div class="flex-cell2 border-rbl flex-cc" style="background-color: #ddd;border-color: red"><div>--</div></div></div>
</div><style>.flex-box {display: flex;flex-direction: row;flex-wrap: nowrap;color: #666;font-size: 14px;text-align: center;box-sizing: border-box;}[class*=flex-cell] {box-sizing: border-box;}.flex-cell1 {width: 100px;}.flex-cell2 {width: 400px;padding: 12px 0;}.flex-cell3 {width: 500px;}.flex-cell4 {width: 200px;}.border-sub-rb [class*=flex-cell] {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;padding: 12px 0;}.border-sub-bl [class*=flex-cell] {border-bottom: 1px solid #ddd;border-left: 1px solid #ddd;}.border-lt {border-left: 1px solid #ddd;border-top: 1px solid #ddd;}.border-lb {border-left: 1px solid #ddd;border-bottom: 1px solid #ddd;}.border-l {border-left: 1px solid #ddd;}.border-rbl {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;border-left: 1px solid #ddd;}.border-b {border-bottom: 1px solid #ddd;}.border-r {border-right: 1px solid #ddd;}.flex-cc {display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: center;align-items: center;}
</style>

方式四:display: grid

grid布局学习成本会高一些,但代码看着最清晰。

grid有兼容性问题,谨慎使用。

<div class="container"><div class="item item-1"><div>种类</div></div><div class="item item-2"><div>名称</div></div><div class="item item-3"><div>描述</div></div><div class="item item-4"><div>水果</div></div><div class="item item-5"><div>香蕉</div></div><div class="item item-6"><div>香蕉(学名:Musa nana Lour.)是芭蕉科、芭蕉属植物。植株丛生,具匐匍茎,矮型的高3.5米以下,一般高不及2米...</div></div><div class="item item-7"><div>苹果</div></div><div class="item item-8"><div>苹果(Malus pumila Mill.),是落叶乔木,通常树木可高至15米,但栽培树木一般只高3-5米左右...</div></div><div class="item item-9"><div>其他</div></div><div class="item item-10"><div>--</div></div>
</div><style>.container {display: grid;grid-template-columns: repeat(6, 100px);color: #666;font-size: 14px;border-left: 1px solid #ddd;border-top: 1px solid #ddd;}.item {border-right: 1px solid #ddd;border-bottom: 1px solid #ddd;text-align: center;padding: 12px 0;display: grid;align-items: center;}.item-1 {grid-column: 1 / 2;}.item-2 {grid-column: 2 / 3;}.item-3 {grid-column: 3 / 7;}.item-4  {grid-row: 2 / 4}.item-6 {grid-column: 3 / 7;}.item-8 {grid-column: 3 / 7;}.item-9 {grid-column: 1 / 3;}.item-10 {grid-column-end: span 4;}
</style>

总结:

table布局仍是实现合并单元格最简单的方式,grid次之,flex再次,display:table不推荐。

The End

CSS合并单元格四种方式:table/display/flex/grid相关推荐

  1. poi 读取excel合并单元格两种方式

    说明: excel合并是用选择的两个或更多单元格创建一个单元格的过程.合并单元格时,如果有多个选择的单元格包含数据,则将保留左上角或右上角(取决于当前的视图方向)单元格中的数据,并删除其余的所有数据. ...

  2. css样式引入形式php,引入css样式表的四种方式介绍

    一.使用STYLE属性: 将STYLE属性直接加在个别的元件标签里. 这种用法的优点 是可灵巧应用样式於各标签中,但是缺点则是没有整篇文件的『统一性』. 二.使用STYLE标签: 将样式规则写在标签之 ...

  3. 如何在html添加css样式表,网页中添加CSS样式表的四种方式

    本文向大家描述一下网页中添加CSS样式表的四种方式,首先让我们来看一下CSS样式表文件的优势,主要体现在两个方面,请看下文详细介绍. CSS样式表文件的优势表现在两个方面: ***,简化了网页的格式代 ...

  4. excel模板合并单元格(jxls 合并单元格)---工具net.sf.jxls扩展---支持合并单元格(无需代码方式合并)

    概述 excel比较常用的工具类就是poi和jxl当然后者已经停止维护很久而且只支持excel2003,不支持excel2007. 对2003版,最大行数是65536行 ,对2007以上版本,最大行数 ...

  5. html合并单元格自动换行,html的table标签用js做合并单元格操作

    满意答案 fsrbf 2015.07.24 采纳率:59%    等级:11 已帮助:5794人 为什么要用js呢?table本身就有合并单元格的功能,其实如果你用js也是给table添加对应的样式. ...

  6. CSS隐藏元素的几种方式以及display、visibility、opacity的区别

    CSS隐藏元素的方式 首先最通用且最易想到的方法肯定是display.visibility和opacity这三种了 display:none 设置元素不可见并且连盒模型也不生成,一般用于不占空间的隐藏 ...

  7. vue中用table_Vue中table合并单元格用法

    地名 结果 人名 性别 {{item.name}} 已完成 未完成 {{item.groups[0].name}} {{item.groups[0].sex}} {{item.groups[son]. ...

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

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

  9. Table合并单元格,表格居中,内容居中显示

    例如:新建一张四行四列的表格,第一行的四列合并,第二.三.四行的第一列合并在一起居中显示 <%@ page language="java" contentType=" ...

最新文章

  1. USCACO Buy Low, Buy Lower
  2. S5700三层交换机 复杂网络环境设置默认路优先级实战
  3. python编程入门与案例详解pdf-Flutter技术入门与实战 PDF 清晰版
  4. c++语言生成一个随机数,C/C++怎么生成“真正的”随机数
  5. CodeForces - 456C Boredom(线性dp)
  6. 生成0到1之间随机数的C代码
  7. poj 1986 Distance Queries
  8. 【蓝桥杯官网试题 - 历届试题】小朋友排队(逆序数,树状数组)
  9. python语句结束符_python中判断文件结束符的具体方法
  10. c# c均值聚类及DBSCAN聚类
  11. 匹配滤波器matlab实现_内插滤波器(Interpolated FIR)的FPGA实现
  12. 解决Mysql数据量大的时候 分页优化(使用limit)的问题
  13. JAVA项目实训struts2_JavaWeb学习:Struts2与Spring的IOC练习
  14. 实力封装:Unity打包AssetBundle(三)
  15. 【Java后台】从零开始的Java后台开发(二)
  16. Java解压压缩包(zip/rar/7z)
  17. 三国历史上最不该被埋没诋毁的十大人才
  18. Python将word表格存入excel —— 格式化pg参数手册
  19. IE8.0中显示不出来图片其他浏览器都可以显示
  20. 酒店点菜系统c语言,求一个用最基础的C语言编写的简单饭店点菜系统

热门文章

  1. 带您3分钟了解618购物节是如何轰动全国的?
  2. 司铭宇讲师:销售技巧培训之大客户关系管理
  3. linux僵尸进程defunct
  4. elementUI按esc关闭对话框
  5. NG AOT JIT
  6. C语言代码,判断谁是罪犯
  7. DaleCloud(原NFine)介绍:使用easyui实现主从表提交(单据业务)
  8. Ubuntu 配置 workon 命令
  9. BUU-MISC-认真你就输了
  10. manjaro开机黑屏