美文网首页
合并单元格跨行和跨列

合并单元格跨行和跨列

作者: coderhzc | 来源:发表于2023-02-28 22:38 被阅读0次

一. 跨列:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 
    单元格合并分成两种情况:
      -- 跨列合并: 使用colspan  ==> 在最左边的单元格写上colspan属性,colspan='要跨的列数',并且要把原来的td 要去掉;
      -- 跨行合并: 使用rowspan  ==> 在最上面的单元格协商rowspan属性,rowspan='要跨的行数' ,并且要把原来的tr中的td去掉;

   -->
   <style>
    table {
      border-collapse: collapse;
      text-align: center;
    }
    td {
      border: 1px solid #333;
      padding: 10px 20px;
    }
   </style>
</head>

<body>
  <!-- 1. 确定 谁 需要跨行或者跨列 -->
  <!-- 2. 确实是跨 行 还是跨列 -->
  <!-- 3. 跨几行或者几列 -->
  <table>
    <tr>
      <td colspan="2">1-1</td>
      <!-- <td>1-2</td> -->
    </tr>
    <tr>
      <td>2-1</td>
      <td>2-2</td>
    </tr>
  </table>
</body>
</html>

实际截图

image.png

二.跨行

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 
    单元格合并分成两种情况:
      -- 跨列合并: 使用colspan  ==> 在最左边的单元格写上colspan属性,colspan='要跨的列数',并且要把原来的td 要去掉;
      -- 跨行合并: 使用rowspan  ==> 在最上面的单元格协商rowspan属性,rowspan='要跨的行数' ,并且要把原来的tr中的合并的当前td去掉;

   -->
   <style>
    table {
      border-collapse: collapse;
      text-align: center;
    }
    td {
      border: 1px solid #333;
      padding: 10px 20px;
    }
   </style>
</head>

<body>
  <!-- 1. 确定 谁 需要跨行或者跨列 -->
  <!-- 2. 确实是跨 行 还是跨列 -->
  <!-- 3. 跨几行或者几列 -->
  <table>
    <tr>
      <td rowspan="2">1-1</td>
      <td>1-2</td>
    </tr>
    <tr>
      <!-- <td>2-1</td> -->
      <td>2-2</td>
    </tr>
  </table>
</body>
</html>

实际截图

image.png

三.表格合并练习

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    table {
      border-collapse: collapse;
      text-align: center;
    }
    td{
      width: 120px;
      height: 40px;
      border: 1px solid #f00;
      padding: 10px 20px;
    }
   </style>
</head>

<body>
  <table>
   <tr>
    <td colspan="6">课程表</td>
   
   </tr>
   <tr>
    <td></td>
    <td>星期一</td>
    <td>星期二</td>
    <td>星期三</td>
    <td>星期四</td>
    <td>星期五</td>
   </tr>
   <tr>
    <td rowspan="4">上午</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td rowspan="4">下午</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td rowspan="2">晚自习</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
   <tr>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
    <td>数学</td>
   </tr>
  </table>
</body>

</html>

实际截图

image.png

四. 在表格中循环,当表格中有开关切换或者复选框选中的时候,会遇到一个问题, 就是循环的时候要是绑定的id循环出来的是一样的话,你在切换开关或者复选框的时候, 就所有的切换都在联动选中,这种的话就会出现问题

image.png
把 id改为动态的就可以了:  <input type="checkbox" v-model="item.status" :id="item.id" />


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./js/vue.js"></script>
    <style>
      table {
        border-collapse: collapse;
        text-align: center;
      }

      td {
        border: 1px solid #333;
        padding: 10px 20px;
      }
    </style>
  </head>
  <body>
    <div id="app">
      <label for="ipt">
        品牌名称<input
          type="text"
          placeholder="请输入品牌名称"
          v-model.trim="addValue"
        />
      </label>
      <button @click="add">添加一条数据</button>
      <table v-if="list.length > 0" style="margin-top: 20px">
        <thead>
          <td>序号</td>
          <td>品牌名称</td>
          <td>状态</td>
          <td>创建时间</td>
          <td>操作</td>
        </thead>
        <tbody>
          <tr v-for="(item,index) in list" :key="index">
            <td>{{ index + 1 }}</td>
            <td>{{ item.name }}</td>
            <td>
              <input type="checkbox" v-model="item.status" :id="item.id" />
              <label :for="item.id">{{ item.status ? '启用':'禁用' }}</label>
            </td>

            <td>{{ item.time }}</td>
            <td>
              <button @click="deleteItem(item,index)">删除</button>
            </td>
          </tr>
        </tbody>
      </table>

      <h2 v-else>列表暂无数据</h2>
    </div>
    <script>
      const app = new Vue({
        el: "#app",
        data: {
          addValue: "",
          addId: 4,
          list: [
            { id: 1, name: "宝马", status: true, time: new Date() },
            { id: 2, name: "奔驰", status: false, time: new Date() },
            { id: 3, name: "奥迪", status: true, time: new Date() },
          ],
        },
        methods: {
          deleteItem(item) {
            this.list = this.list.filter((itez) => itez.id !== item.id);
            console.log(this.list);
          },
          add() {
            if (!this.addValue) return alert("请先填写品牌");
            const obj = {
              id: this.addId++,
              name: this.addValue,
              status: this.addId % 2 === 0 ? true : false,
              time: new Date(),
            };
            this.list.push(obj);
            this.addValue = "";
          },
        },
      });
    </script>
  </body>
</html>



相关文章

  • HTML Table

    表格标签 用来显示数据,不是用来布局 合并单元格 rowspan 跨行合并 colspan 跨列合并

  • 基础(四)--创建语义化界面(二)

    一、表格 单元格合并: 合并顺序:从上往下,从左至右 跨行合并:rowspan="合并的单元格的格子" 跨列合并:...

  • poi3.17 生成word

    需要的包 跨列合并单元格 跨行并单元格 表格内单元格内容水平居中 注意:如果单元格内容是paragraph(段落)...

  • 小程序跨行跨列多列复杂表格实现

    今天来实现个跨行跨列多列表格。 如图,这是个列数不确定,有的单元格还要跨行跨列的复杂表格。 这里暂时最多支持4列,...

  • HTML之表格标签及属性

    一、表格的基本结构 二、表格的标签及属性简介 三、单元格属性 四、表格的跨行与跨列rowspan:跨行标签,表示跨...

  • Excel从起步到起飞 第八课:跨越合并单元格;第九课:高级的

    第八课:跨越合并单元格 同时合并好多个单元格:选中单元格点击跨列合并(WPS里面是按行合并) 第九课:高级的格式刷...

  • HTML 表格

    1、表格和边框属性 2、表格的表头 3、表格中的空单元格 4、表格的标题 5、跨行和跨列的单元格 6、表格内的标签...

  • excel合并两个单元格的内容

    今天在处理数据的时候遇到需要合并两个单元格内容的需求。 比如我要将姓的列和名的列合并到姓名当中。公式使用=单元格&...

  • 表格实现

    相关基础知识 表格标记 表头标记 表行标记 表元标记 设置跨行、跨列 中跨多行 跨多列 中跨...

  • Excel怎么跨行合并单元格?

    合并单元格,指的是在办公软件中,Excel将两个或多个位于同一行或者同一列的单元格合并成一个单元格。单行合并单元格...

网友评论

      本文标题:合并单元格跨行和跨列

      本文链接:https://www.haomeiwen.com/subject/qzqrldtx.html