CSS Grid 布局全攻略:从基础到进阶

文章目录

    • 一.Grid 是什么
    • 二.示例代码
      • 1. 基础使用 - 固定宽高
      • 2.百分百宽高
      • 3.重复设置-repeat
      • 4.单位-fr
      • 5.自适应
      • 6.间距定义
      • 其他

一.Grid 是什么

CSS 中 Grid 是一种强大的布局方式,它可以同时处理行和列
GridFlex有一些类似,都是由父元素包裹子元素使用

二.示例代码

都是基于这个html代码

import less from './index.module.less'

//grid 布局
const Grid = () => {
  return (
    <div className={less.box}>
      <div>1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
    </div>

  )
}

export default Grid

1. 基础使用 - 固定宽高

.box {
  margin: 50px auto;
  display: grid;
  grid-template-rows: 100px 50px; //每行的高度
  grid-template-columns: 100px 50px 50px; // 每列的宽度
  width: 300px;
  height: 300px;
  border: 1px solid red;
}

.box div {
  border: 1px solid green;
  text-align: center;
}

在这里插入图片描述

2.百分百宽高

.box {
  margin: 50px auto;
  display: grid;
  grid-template-rows: 50% 50%; //每行的高度
  grid-template-columns: 33% 33% 33%; // 每列的宽度
  width: 300px;
  height: 300px;
  border: 1px solid red;
}

.box div {
  border: 1px solid green;
  text-align: center;
}

在这里插入图片描述

3.重复设置-repeat

repeat :统一设置值,第一个参数为重复数量,第二个参数是重复值

.box {
  margin: 50px auto;
  display: grid;
  grid-template-rows: repeat(2,30%); 
  grid-template-columns: repeat(2,50%); 
  width: 300px;
  height: 300px;
  border: 1px solid red;
}

.box div {
  border: 1px solid green;
  text-align: center;
}

其中的第五个div没有设置高度,所以自适应
在这里插入图片描述

4.单位-fr

grid 中的 fr单位和 flex布局中的 grow属性类似

.box {
  margin: 50px auto;
  display: grid;
  grid-template-rows: 1fr 2fr; 
  grid-template-columns: 150px 1fr 2fr; 
  width: 300px;
  height: 300px;
  border: 1px solid red;
}

.box div {
  border: 1px solid green;
  text-align: center;
}

在这里插入图片描述

5.自适应

在网格布局可以使用auto属性设置用来获取剩余所有空间

.box {
  margin: 50px auto;
  /* width: 300px; */
  height: 200px;
  display: grid;
  grid-template-columns: 10vw auto 20vw;
  border: 1px solid #3333;
}

.box div {
  padding: 20px;
  background-clip: content-box;
  border: 1px solid green;
  text-align: center;
  line-height: 160px;
}

在这里插入图片描述

6.间距定义

使用gap来来定义间距
row-gap:30px:定义行间距
column-gap:10px:定义列间距

.box {
  margin: 50px auto;
  /* width: 300px; */
  height: 200px;
  display: grid;
  grid-template-columns: 10vw auto 20vw;
  border: 1px solid #3333;
  gap: 20px 10px;
}

.box div {
  padding: 20px;
  background-clip: content-box;
  border: 1px solid green;
  text-align: center;
  line-height: 160px;
}

在这里插入图片描述

其他

关于grid 布局剩余后续在继续更新

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶控制算法-油门刹车标定

本文是学习自动驾驶控制算法第十讲 油门刹车标定表的制作以及后续一节的学习笔记。 车辆油门刹车标定的目的是获取不同车速下不同的油门踏板或刹车踏板行程下车辆的加速度&#xff0c;标定的结果作为纵向控制模型的输入&#xff0c;用于计算输出合理的油门或刹车。 1 Apollo中…

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明&#xff1a;企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…

Java-JVM详解

Java-JVM ①JVM概述 ❶基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;一个虚拟计算机&#xff0c;Java 程序的运行环境&#xff08;Java二进制字节码的运行环境&#xff09; 特点&#xff1a; Java 虚拟机基于二进制字节码执行&#xff0c;由一套字节码指…

PyTorch 框架实现线性回归:从数据预处理到模型训练全流程

系列文章目录 01-PyTorch新手必看&#xff1a;张量是什么&#xff1f;5 分钟教你快速创建张量&#xff01; 02-张量运算真简单&#xff01;PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch&#xff1f;张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器&#xff1a;PyTor…

升级 Spring Boot 3 配置讲解 —— 支持断点传输的文件上传和下载功能

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 在现代 Web 应用中&#xff0c;文件上传和下载是非常常见的需求。然而&#xff0c;当文件较大时&#xff0c;传统的上传下载方式可能会遇到网络不稳定或传输中断的问题。为了解决这些问题…

R语言安装教程与常见问题

生物信息基础入门笔记 R语言安装教程与常见问题 今天和大家聊一个非常基础但是很重要的技术问题——如何在不同操作系统上安装R语言&#xff1f;作为生物信息学数据分析的神兵利器&#xff0c;R语言的安装可谓是入门第一步&#xff0c;学术打工人的必备技能。今天分享在Windows…

UI自动化测试保姆级教程--pytest详解(精简易懂)

欢迎来到啊妮莫的学习小屋 别让过去的悲伤&#xff0c;毁掉当下的快乐一《借东西的小人阿莉埃蒂》 简介 pytest是一个用于Python的测试框架, 支持简单的单元测试和复杂的功能测试. 和Python自带的UnitTest框架类似, 但是相比于UnitTest更加简洁, 效率更高. 特点 非常容易上手…

基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址

文章目录 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。代码代码2 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。 代码 #include <iostream> using namespace std;class b…

分布式Id方案选择

分布式 ID 方案选择 在当今分布式系统日益盛行的背景下&#xff0c;分布式 ID 生成方案的选择成为了众多开发者关注的焦点。一个优秀的分布式 ID 方案&#xff0c;不仅能够确保生成的 ID 全局唯一&#xff0c;避免数据冲突&#xff0c;还能在高并发、大规模的分布式环境中保持…

花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%

花生好坏缺陷识别数据集,7262张图片&#xff0c;支持yolo&#xff0c;coco json&#xff0c;pasical voc xml格式的标注&#xff0c;识别准确率在95.7% 数据集分割 训练组87&#xff05; 6353图片 有效集8% 606图片 测试集4% 303图片 预处理 自动定…

springboot 集成 etcd

springboot 集成 etcd 往期内容 ETCD 简介docker部署ETCD 前言 好久不见各位小伙伴们&#xff0c;上两期内容中&#xff0c;我们对于分布式kv存储中间件有了简单的认识&#xff0c;完成了docker-compose 部署etcd集群以及可视化工具 etcd Keeper&#xff0c;既然有了认识&a…

【递归与分治】Leetcode23:合并K个升序链表

一、题目描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff1a;链表数…

将分支A某一个commit合并到分支B

1.寻找A分支的commit 在分支B下&#xff0c;点击git找到分支A的历史提交记录,如图所示&#xff1a; 2.点击分支A的某个commit&#xff0c;进行合并到分支B 将这个commit&#xff0c;进行cherry-Pick&#xff0c;就可以把分支A的合并到分支B上的本地仓库中&#xff0c;然后就可…

如何快速上手一个鸿蒙工程

作为一名鸿蒙程序猿&#xff0c;当你换了一家公司&#xff0c;或者被交接了一个已有的业务。前辈在找你之前十分钟写了一个他都看不懂的交接文档&#xff0c;然后把一个鸿蒙工程交接给你了&#xff0c;说以后就是你负责了。之后几天你的状态大概就是下边这样的&#xff0c;一堆…

预训练语言模型——BERT

1.预训练思想 有了预训练就相当于模型在培养大学生做任务&#xff0c;不然模型初始化再做任务就像培养小学生 当前数据层面的瓶颈是能用于预训练的语料快被用完了 现在有一个重要方向是让机器自己来生成数据并做微调 1.1 预训练&#xff08;Pre - training&#xff09;vs. 传…

关于FPGA(现场可编程门阵列)工程技术人员的详细介绍

一、FPGA工程技术人员概述 FPGA工程技术人员是专注于现场可编程门阵列&#xff08;FPGA&#xff09;设计、开发、测试及优化的专业技术人员。他们利用FPGA的灵活性和可编程性&#xff0c;为各种应用创建高效、定制化的硬件解决方案。 二、主要工作任务 FPGA逻辑设计&#xf…

机器学习模型评估指标

模型的评估指标是衡量一个模型应用于对应任务的契合程度&#xff0c;常见的指标有&#xff1a; 准确率&#xff08;Accuracy&#xff09;: 正确预测的样本数占总样本数的比例。适用于类别分布均衡的数据集。 精确率&#xff08;Precision&#xff09;: 在所有被预测为正类的样…

基于html5实现音乐录音播放动画源码

源码介绍 基于html5实现音乐录音播放动画源码是一款类似Shazam的UI&#xff0c;点击按钮后&#xff0c;会变成为一个监听按钮。旁边会有音符飞入这个监听按钮&#xff0c;最后转换成一个音乐播放器。 效果预览 源码获取 基于html5实现音乐录音播放动画源码

基于深度学习的视觉检测小项目(六) 项目的信号和变量的规划

• 关于前后端分离 当前流行的一种常见的前后端分离模式是vueflask&#xff0c;vueflask模式的前端和后端之间进行数据的传递通常是借助 API&#xff08;应用程序编程接口&#xff09;来完成的。vue通过调用后端提供的 API 来获取或提交数据。例如&#xff0c;前端可能通过发送…

文件传输速查表:Windows 和 Linux

文件传输速查表&#xff1a;Windows 和 Linux 免责申明 本文章仅供网络安全相关学习与研究使用&#xff0c;旨在促进技术交流与安全知识普及&#xff0c;严禁将本文内容及相关工具用于未授权的渗透测试或任何违法活动。 重要声明&#xff1a; 由于传播、使用本文章所提供的信…