grid网格布局

article/2025/9/6 18:55:09
使用flex布局的痛点

如果使用justify-content: space-between;让子元素两端对齐,自动分配中间间距,假设一行4个,如果每一行都是4的倍数那没任何问题,但如果最后一行是2、3个的时候就会出现下面的状况:

/* flex布局 两端对齐 */
display: flex;
flex-wrap: wrap;
justify-content: space-between;
常见flex布局
常见flex布局

 如何想让最后一行左对齐是有办法的,大家可以自行去搜索办法,能实现但是操作起来有些麻烦,但是如果这种布局使用grid布局的话,就会变的非常容易

同样的布局,将flex改为grid 
/* grid布局 两端对齐,最后一行左对齐*/
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 30px;   
解释一下上面的代码:

display:grid 是转为网格布局,这个是必须的
grid-template-columns:1fr | px 这是将网格分为几列,1fr是自适配单位,可以当成栅格
gap:30px 这是网格四周的间隔
注意:这三个属性是给父容器添加的,子元素,可以不用设置宽度,也不用设置margin间距即可完成如下布局

grid布局

看,上面的grip布局,最后一行不是4的倍数,但是可以左对齐,不会像flex布局一样的bug。 

 

深入了解一下grid-template-columns属性
独占一行
grid-template-columns: 1fr;
一行分为两列  多列只需多写几个1fr
grid-template-columns: 1fr 1fr;
 中间固定200px,两边自动平均分配
grid-template-columns: 1fr 200px 1fr;
 如果5列的值相同,可以使用repeat()函数,grid-template-columns: repeat(5,1fr)当然将1fr换成固定的px尺寸也可以
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;grid-template-columns: repeat(5,1fr)
响应式布局,auto-fill主轴上指定的宽度或者重复次数是最大可能的正整数,minmax最小值255px、最大值1fr代表剩余空间
grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); 

注意:实现这种响应式布局,一定要注意父容器不能使用固定宽度,可以将父容器改为如:80%,这样就能根据屏幕的宽度,自动展示一行展示几个了。

grid-row和grid-column可以控制某个元素占领几份

注意是给开始的盒子设置样式,并非所有

.layout .box1{grid-row: 1/3;grid-column: 1/3;
}

以grid-row行为例,从第几列开始 / 第几列+想占几个;

 


http://www.hkcw.cn/article/EYIStfauqJ.shtml

相关文章

基于 GitLab CI + Inno Setup 实现 Windows 程序自动化打包发布方案

在 Windows 桌面应用开发中,实现自动化构建与打包发布是一项非常实用的工程实践。本文以我在开发PackTes项目时的为例,介绍如何通过 GitLab CI 配合 Inno Setup、批处理脚本、Qt 构建工具,实现版本化打包并发布到共享目录的完整流程。 项目地…

江西某石灰石矿边坡自动化监测

1. 项目简介 该矿为露天矿山,开采矿种为水泥用石灰岩,许可生产规模200万t/a,矿区面积为1.2264km2,许可开采深度为422m~250m。矿区地形为东西一北东东向带状分布,北高南低,北部为由浅变质岩系组…

星海掘金:校园极客的Token诗篇(蓝耘MaaS平台)——从数据尘埃到智能生命的炼金秘录

hi,我是云边有个稻草人 目录 前言 一、初识蓝耘元生代MaaS平台:零门槛体验AI服务 1.1 从零开始——平台注册与环境搭建 1.2 平台核心功能 1.3 蓝耘平台的优势在哪里? 二、知识库构建新篇章:从零碎资料到智能语义仓库的蜕变…

测试概念 和 bug

一 敏捷模型 在面对在开发项目时会遇到客户变更需求以及合并新的需求带来的高成本和时间 出现的敏捷模型 敏捷宣言 个人与交互重于过程与工具 强调有效的沟通 可用的软件重于完备的文档 强调轻文档重产出 客户协作重于合同谈判 主动及时了解当下的要求 相应变化…

14. 最长公共前缀

以示例1为例 从左到右依次比较每个字符: 第一个字符都是f,当前最长公共前缀为"f"第二个字符都是l,当前最长公共前缀更新为"fl"第三个字符不一致,因此最终最长公共前缀确定为"fl" 具体实现思路&am…

【CF】Day69——⭐Codeforces Round 897 (Div. 2) D (图论 | 思维 | DFS | 环)

D. Cyclic Operations 题目: 思路: 非常好的一题 对于这题我们要学会转换和提取条件,从特殊到一般 我们可以考虑特殊情况先,即 k n 和 k 1时,对于 k 1,我们可以显然发现必须满足 b[i] i,而…

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线,半双工就是一个数据线 5 6 7 8 9 10 TTL(Transistor-Transistor Logic)电平是一种数字电路中常用的电平标准,它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平,其中:…

2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版

1.题目描述 2.思路 3.代码实现 import java.util.LinkedList; import java.util.Queue;public class H994 {public int orangesRotting(int[][] grid) {//1.获取行数int rowsgrid.length;int colsgrid[0].length;//2.创建队列用于bfsQueue<int[]> quenew LinkedList<…

RK3568DAYU开发板-平台驱动开发--UART

1、程序介绍 本程序是基于OpenHarmony标准系统编写的平台驱动案例&#xff1a;UART 系统版本:openharmony5.0.0 开发板:dayu200 编译环境:ubuntu22 部署路径&#xff1a; //sample/06_platform_uart 2、基础知识 2.1、UART简介 UART指异步收发传输器&#xff08;Univer…

【东枫科技】KrakenSDR 测向快速入门指南

本快速入门指南旨在帮助您使用运行在 Raspberry Pi 4/5 或 Orange Pi 5B (OPI5B)&#xff08;带 WiFi 型号&#xff09;上的 KrakenSDR 尽快连接到测向应用程序。不过&#xff0c;请务必阅读本手册的其余部分&#xff0c;以了解无线电测向的工作原理。 你需要什么 本指南假设…

每日算法-250529

2909. 元素和最小的山形三元组 II 题目 思路 数组, 前后缀分解 解题过程 对于寻找满足特定条件的三元组 (nums[i], nums[j], nums[k]) 且 i < j < k 的问题&#xff0c;一个常见的思路是枚举中间元素 nums[j]。 确定目标&#xff1a;我们要找的是和最小的 “山形三元组…

ASP.NET MVC添加视图示例

ASP.NET MVC高效构建Web应用- 商品搜索 - 京东 视图&#xff08;V&#xff09;是一个动态生成HTML页面的模板&#xff0c;它负责通过用户界面展示内容。本节将修改HelloWorldController类&#xff0c;并使用视图模板文件&#xff0c;以干净地封装生成对客户端的HTML响应的过程…

Pix4d航测软件正射影像生产流程(一)项目创建及快速空三

1.数据准备 此数据为精灵4RTK无人机拍摄的照片,照片数据完整,像控点数据为RTK采集的CGCS2000坐标系数据。 2.打开pix4D航测软件、打开新项目 打开pix4D航测软件,软件必须在断网的情况下使用。

day 24 元组和OS模块

一、元组 元组&#xff08;Tuple&#xff09;是 Python 中一种不可变的序列数据类型。元组一旦创建&#xff0c;其元素不能被修改、删除或添加。这一特性使得元组在需要保护数据不被意外更改的场景中非常有用&#xff0c;比如作为字典的键或在多线程环境中共享数据。 1、元组…

python 制作复杂表格报告

python 制作复杂表格报告 最近用&#xff4f;&#xff44;&#xff4f;&#xff4f;集成检测系统&#xff0c;有一复杂表格报告需要处理&#xff0c;即要用到数据库中详细实验信息&#xff0c;检测项格式也不统一&#xff0c;在word中需要有宣然&#xff0c;有列合并&#xff…

unity星空运动

// Upgrade NOTE: replaced ‘_Object2World’ with ‘unity_ObjectToWorld’ // Upgrade NOTE: replaced ‘mul(UNITY_MATRIX_MVP,)’ with UnityObjectToClipPos()’ Shader “Unlit/Texture_046” { Properties { _F(“F”,range(1,10)) 4 _MainTex(“MainTex”,2D) “”…

【电拖自控】转速检测数字测速(脉冲计数测速)

电力拖动自动控制系统第4版上海大学阮毅 &#xff08;脉冲计数测速可以用光电式编码器或霍尔编码器。&#xff09; 旋转编码器 光电式旋转编码器是检测转速或转角的元件。 旋转编码器可分为绝对式和增量式两种。绝对式常用于检测转角&#xff0c;增量式用于测转速。 增量式…

软考-系统架构设计师-第十六章 层次式架构设计理论与实践

层次式架构设计理论与实践 16.2 表现层框架设计16.3 中间层框架设计16.4 数据访问层设计16.5 数据架构规划与设计16.6 物联网层次架构设计 软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述这些元素的相互作用、指导元素集成的模式以及…

ZigBee 协议:开启物联网低功耗通信新时代

在物联网蓬勃发展的时代&#xff0c;无线通信技术犹如连接万物的桥梁&#xff0c;而 ZigBee 协议以其独特的优势&#xff0c;在众多通信协议中脱颖而出&#xff0c;成为构建低功耗、可靠物联网网络的关键技术之一。 一、ZigBee 协议的起源与发展 ZigBee 这个名字充满了自然的灵…

计算机网络常见体系结构、分层必要性、分层设计思想以及专用术语介绍

计算机网络体系结构 从本此开始&#xff0c;我们就要开始介绍有关计算机网络体系结构的知识了。内容包括&#xff1a; 常见的计算机网络体系结构 计算机网络体系结构分层的必要性 计算机网络体系结构的设计思想 举例说明及专用术语 计算机网络体系结构是计算机网络课程中…