当前位置: 首页 > article >正文

Grid布局

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Flex布局和Grid布局</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      /* flex布局开始 */
      .head-title {
        text-align: center;
        color: #555;
        font-size: 26px;
        padding: 30px 0;
      }
      .layout {
        width: 1400px;
        min-height: 500px;
        background: #fff;
        border-radius: 10px;
        margin: 0 auto;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        padding: 30px;
        margin-bottom: 40px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
      }
      .layout .box {
        width: 300px;
        height: 200px;
        background: #7c9fb0;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        margin-bottom: 40px;
      }
      /* flex布局结束 */

      /* grid布局开始 */
      .grid {
        /* grid布局,两端对齐,最后一行左对齐 */
        display: grid;
        /* 设置一行分成几列,每列占1份空间, 平均分布 */
        /* grid-template-columns: 1fr 1fr 1fr 1fr; */
        /* grid-template-columns: repeat(重复几次, 盒子宽度); */
        grid-template-columns: repeat(4, 1fr);
        /* 响应式布局-宽度不小于260px,小于260px就开始重新分配列 */
        /* grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); */
        /* 设置每个盒子之间的间隙 */
        gap: 20px;
        /* width: 80%;  如过需要做响应式, 那么宽度不要固定写死, 使用百分比单位 */
        width: 1400px;
        min-height: 500px;
        background: #fff;
        border-radius: 10px;
        margin: 0 auto;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        padding: 30px;
      }

      .grid .box {
        /* 子元素不用给宽度 */
        /* width: 300px; */
        height: 200px;
        background: #ffcf7f;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
      }
      /* grid布局结束 */

      /* grid布局开始 */
      .grid-2 {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 20px;
        width: 1400px;
        min-height: 500px;
        background: #fff;
        border-radius: 10px;
        margin: 0 auto;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        padding: 30px;
      }

      .grid-2 .box {
        /* 子元素不用给宽度、高度 */
        /* width: 300px; */
        /* height: 200px; */
        background: #f6a4a4;
        border-radius: 8px;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
      }

      .grid-2 .box1 {
        /* grid-row: (从第几列开始/跨几行) */
        /* grid-column: (从第几列开始/跨几列) */
        /* 跨3行,跨两列 */
        /* grid-row: 1/4;
        grid-column: 1/3; */
        /* 上述写法等价于 */
        grid-row: span 3; /* 跨3行 */
        grid-column: span 2; /* 跨2列 */
      }

      /* 修改除box1以外其他兄弟盒子的高度 */
      .grid-2 .box1 ~ .box {
        height: 120px;
      }
      /* grid布局结束 */
    </style>
  </head>
  <body>
    <div class="head-title">常用的flex布局-缺点:最后一行左侧不能对齐</div>
    <div class="layout">
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
    </div>
    <hr />
    <div class="head-title">网格布局</div>
    <div class="grid">
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
      <div class="box">box方块</div>
    </div>
    <hr />
    <div class="head-title">网格布局2</div>
    <div class="grid-2">
      <div class="box box1">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
      <div class="box box2">box方块</div>
    </div>
  </body>
</html>

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/273371.html

相关文章:

  • 你知道Mac也能拥有丰富的右键菜单栏吗?
  • 1范数和无穷范数定义、对偶关系、1范数和无穷范数是凸函数的详细证明过程
  • 我们来学mysql -- 同时使用 AND 和 OR 查询错误(填坑篇)
  • 代码随想录第十五天| 110.平衡二叉树 、 257. 二叉树的所有路径 、404.左叶子之和、222.完全二叉树的节点个数
  • 读数据工程之道:设计和构建健壮的数据系统28数据服务常见关注点
  • 【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题216,217,223
  • 每周编辑精选|微软开源 Orca-Math 高质量数学数据集、清华大学研究团队发布条件去噪扩散模型 SPDiff...
  • 深入学习NIO三大核心:缓冲区 Buffer、通道Channel、Selector选择器
  • nextjs 使用 lru-cache 进行缓存,在api里访问不到page中的缓存
  • Easy-Jmeter: 性能测试平台
  • 通过Pytest 多数据库连接实例了解Python工厂模式与单例模式的区别
  • 《LeetCode热题100》笔记题解思路技巧优化_Part_5
  • 量子计算+HPC!ORNL与Riverlane、Rigetti合作研发
  • day03vue学习
  • sheng的学习笔记-AI-残差网络-Residual Networks (ResNets)
  • 【C++初阶】第七站:string类的初识(万字详解、细节拉满)
  • 最新Java面试题2【2024初级】
  • 【LAMMPS学习】二、LAMMPS安装(2)MacOS和Win安装
  • 如何通过ETL做数据转换
  • 铝壳电阻的工艺结构原理及选型参数总结
  • 【排序】快速排序
  • 2024.3.18-408学习笔记-C-结构体
  • npm和pnpm安装、更换镜像源
  • 转录因子/组蛋白修饰靶基因数据库:Cistrome DB使用教程
  • huawei 华为交换机 配置手工模式链路聚合示例
  • 精准核酸检测(100用例)C卷(JavaPythonC++Node.jsC语言)