css3-grid:grid 布局 / 基础使用

一、理解 grid

 

二、理解 css grid 布局

CSS Grid布局是一个二维的布局系统,它允许我们通过定义网格和网格中每个元素的位置和尺寸来进行页面布局。CSS Grid是一个非常强大的布局系统,它不仅可以用于构建网格布局,还可以用于定位元素,并且可以很好地处理复杂的布局。

CSS Grid布局由两个主要的组成部分组成:容器和项目。容器是我们要定义网格的元素,它的display属性必须设置为grid或inline-grid。而项目是容器内的元素,它们被放置在网格中,并占据一个或多个网格单元。

要创建一个网格布局,我们需要先定义一个网格容器,然后使用grid-template-columns和grid-template-rows属性定义行和列的大小和数量。我们还可以使用grid-column和grid-row属性来控制每个项目在网格中的位置。

除了基本的网格布局,CSS Grid还提供了许多其他的布局特性,如重叠元素、自适应大小、对齐和间距等。这使得我们能够使用CSS Grid来创建各种各样的布局,从简单的网格到复杂的响应式布局,以满足不同的设计需求。

CSS Grid布局是一个灵活、强大和易于使用的布局系统,它提供了许多功能来帮助我们创建各种各样的布局。它已经受到了广泛的支持,并且越来越受到前端开发人员的重视。

三、grid布局有哪些核心概念

序号概念概念描述
1网格容器(Grid Container)包含整个CSS Grid布局的父元素,通过设置该元素的display属性为grid或inline-grid,即可将其定义为网格容器。
2网格线(Grid Line)网格容器中划分行列的分割线,可以通过数字或名称进行标识。
3网格轨道(Grid Track)两个相邻网格线之间的空间称为网格轨道(可以是行轨道或列轨道),可以通过设置grid-template-columns和grid-template-rows属性来定义。
4网格单元(Grid Cell)两个相邻行列网格线交叉形成的方块区域,用于定义网格中的项目。
由四个相邻的网格线所围成的矩形区域,是网格中的基本单位。
5网格项(Grid Item)网格容器中的任何元素都可以成为网格项,规定了网格项在网格单元中的位置和大小。
位于网格单元中的内容,可以是任何HTML元素。
6网格区域(Grid Area)由多个网格单元组成的矩形区域,用于定义项目的位置和跨度。
可以通过grid-template-areas属性进行定义。
7网格模板(Grid Template)通过设置grid-template-columns和grid-template-rows属性来定义网格轨道的大小和数量。
描述网格行数、列数和每个单元格的大小,可以通过grid-template-rows、grid-template-columns和grid-template-areas属性进行定义。
8网格属性(grid property)用于控制网格项在网格容器中的位置和大小,包括grid-row、grid-column、grid-row-start、grid-column-start、grid-row-end、grid-column-end等属性。
9对齐(Alignment)设置网格项在网格单元中水平和垂直方向的对齐方式,可以分别使用justify-items和align-items属性,也可以使用justify-self和align-self属性分别定义每个网格项的对齐方式。
10重叠(Overlap)CSS Grid布局允许网格项在网格单元中互相重叠,这可以通过设置grid-template-areas属性来实现。
理解这些核心概念可以更好地理解和使用CSS Grid布局。

四、浏览器兼容性

不考虑老旧的浏览器已经是可以使用了。

旧版浏览器可能需要添加一些前缀才能支持CSS Grid布局,而新版浏览器已经不需要前缀了。在编写CSS Grid布局时,建议用适当的前缀完成兼容性工作,现在css工具也可以自动添加。

如果您的站点需要支持较老版本的浏览器,可以使用其他CSS布局方式来弥补CSS Grid布局的缺陷。例如,可以使用Flexbox布局或传统的基于表格的布局来实现相应的设计效果。

五、当设置了 grid 布局后,哪些属性将失效

当设置了 grid 布局后,以下属性将失效
序号属性备注
1float
2clear
3display: table-cell
4vertical-align
5width通过 grid-template-columns 和 grid-template-rows 定义列和行宽度
6height通过 grid-template-columns 和 grid-template-rows 定义列和行高度
7margin相关属性(margin-top、margin-right、margin-bottom、margin-left、margin、margin-inline、margin-block)
8padding相关属性(padding-top、padding-right、padding-bottom、padding-left、padding、padding-inline、padding-block)
9display: inline-gridinline-grid 只能定义单行/单列
以上属性失效是因为 grid 布局已经提供了更加灵活和高效的布局方式

六、grid 常用属性

序号属性属性描述
1display用于定义网格容器的类型,可以设置为grid或inline-grid
2grid-template-columns
grid-template-rows
用于定义网格的列数和行数,可以使用长度、百分比、auto、minmax()等值进行设置。
3grid-template-areas用于定义网格区域,在一个字符串中使用空格分隔每个单元格,可以使用句点(.)表示一个空单元格,使用名称为none的单元格将不被占用
4grid-template用于同时定义网格的列数、行数和区域。
5grid-column-gap
grid-row-gap
用于定义网格行和列之间的间隙
6grid-auto-columns
grid-auto-rows
用于定义自动网格的列数和行数,当网格中的单元格无法满足网格模板时,会使用自动网格填充剩余空间。
7grid-auto-flow用于定义自动网格的方向,可以设置为row、column或dense。
8grid-column-start
grid-column-end
grid-row-start
grid-row-end
用于定义单元格的位置,通过网格线的位置进行设置。
9grid-column
grid-row
用于同时定义单元格的开始和结束位置。
10grid-area用于为单元格定义一个名称,以便在grid-template-areas属性中进行引用
了解和掌握这些属性可以帮助我们更好地使用CSS Grid布局来实现网页布局。

七、DEMO

布局:大屏方案(grid)_大屏布局方案_snow@li的博客-CSDN博客

八、欢迎交流指正

参考链接

css3-flex布局:基础使用 / Flexbox布局_snow@li的博客-CSDN博客

grid布局详解 - Des李白 - 博客园

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

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

相关文章

解锁编程的新契机:深入探讨Kotlin Symbol Processor (KSP)的编写

解锁编程的新契机:深入探讨Kotlin Symbol Processor (KSP)的编写 1. 引言 随着软件开发领域的不断发展,新的工具和技术不断涌现,以满足开发者在构建高效、可维护和创新性的代码方面的需求。Kotlin Symbol Processor(KSP&#xf…

Actuator微服务信息完善-Eureka—SpringCloud(版)微服务学习教程(11)

一、Actuator是什么? Actuator是Springboot提供的用来对应用系统进行自省和监控的功能模块,借助于Actuator开发者可以很方便地对应用系统某些监控指标进行查看、统计等。 在Springboot中使用Actuator监控非常简单,只需要在工程POM文件中引入…

VMware虚拟安装Ubuntu,然后切换Ubuntu内核版本

无论你选择哪种方法,一旦进入 GRUB 引导菜单,你应该能够选择需要的内核版本并启动系统。 打开终端:你可以通过按下 Ctrl Alt T 快捷键来打开终端。 使用 sudo:切换内核需要管理员权限,因此你需要使用 sudo 命令。首…

STM32存储左右互搏 I2C总线FATS读写EEPROM ZD24C1MA

STM32存储左右互搏 I2C总线FATS读写EEPROM ZD24C1MA 在较低容量存储领域,EEPROM是常用的存储介质,可以通过直接或者文件操作方式进行读写。不同容量的EEPROM的地址对应位数不同,在发送字节的格式上有所区别。EEPROM是非快速访问存储&#xf…

[C初阶笔记]P2

Git 1、Git是Linus为了帮助管理Linux内核开发 而开发的一个开放源码的分布式版本控制软件。 2、Git和TortoiseGit的作用。 Git中有各种命令行操作,来维护代码,可以将代码推送到代码托管平台。 TortoiseGit是将Git中各自命令行操作转化为图形化操作。 …

C语言好题解析(一)

目录 选择题1选择题2选择题3选择题4编程题一 选择题1 执行下面程序,正确的输出是( )int x 5, y 7; void swap() {int z;z x;x y;y z; } int main() {int x 3, y 8;swap();printf("%d,%d\n",x, y);return 0; }A: 5,7 B: …

Threejs学习03——实现随机多个三角形随机位置随机颜色展示效果

实现随机多个三角形随机位置随机颜色展示效果 这是一个非常简单基础的threejs的学习应用!本节主要介绍的是随机,随机位置以及随机颜色,我们使用的物体是三角形,通过一个三角形三个顶点每一个顶点通过xyz坐标来确定,则…

Java算法_ 检查对称树(LeetCode_Hot100)

题目描述:给你一个二叉树的根节点 , 检查它是否轴对称。root 获得更多?算法思路:代码文档,算法解析的私得。 运行效果 完整代码 /*** 2 * Author: LJJ* 3 * Date: 2023/8/17 8:47* 4*/ public class SymmetricTree {static class…

智慧水利利用4G物联网技术实现远程监测、控制、管理

智慧水利工业路由器是集合数据采集、实时监控、远程管理的4G物联网通讯设备,能够让传统水利系统实现智能化的实时监控和远程管理。工业路由器利用4G无线网络技术,能够实时传输数据和终端信息,为水利系统的运维提供有效的支持。 智慧水利系统是…

Linux知识点 -- Linux多线程(一)

Linux知识点 – Linux多线程(一) 文章目录 Linux知识点 -- Linux多线程(一)一、理解线程1.从资源角度理解线程2.执行流3.多线程编程4.线程的资源5.线程切换的成本更低6.线程的优缺点7.线程异常 二、线程控制1.clone函数2.线程异常…

Unity如何把游戏导出成手机安装包

文章目录 前言使用环境步骤添加场景构建APK 前言 本文章主要演示了,如何将制作好的游戏,导出成APK,安装到手机上。 使用环境 Unity2022。 步骤 首先打开你的项目,然后选择菜单栏的“File” > “Build Settings…”&#xf…

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍…

【使用 k 折叠交叉验证的卷积神经网络(CNN)】基于卷积神经网络的无特征EMG模式识别研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

使用GraphQL在Postman中进行API测试

GraphQL 是一种用于API的开源数据查询和操作语言,用于API的查询语言和运行时。它使客户端能够精确地指定其数据需求,并获得预测性地结果。GraphQL旨在提高API的效率、灵活性和可靠性。 Postman 是一款用于API开发的强大工具,它支持REST和Gra…

【LINUX相关】生成随机数(srand、/dev/random 和 /dev/urandom )

目录 一、问题背景二、修改方法2.1 修改种子2.2 使用linux中的 /dev/urandom 生成随机数 三、/dev/random 和 /dev/urandom 的原理3.1 参考连接3.2 重难点总结3.2.1 生成随机数的原理3.2.2 随机数生成器的结构3.2.3 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个…

直线导轨在视觉检测设备中的应用

随着科技的不断发展,视觉检测设备已经逐渐代替了传统的人工品检,成为了工业生产中的一部分,在五金配件、塑胶件、橡胶件、电子配件等检测工业零部件表面外观缺陷尺寸方面应用,视觉检测设备具有优势。 直线导轨作为视觉检测设备中重…

JAVASE---数组的定义与使用

数组的基本概念 什么是数组 数组是具有相同类型元素的集合,在内存中连续存储。 1. 数组中存放的元素其类型相同 2. 数组的空间是连在一起的 3. 每个空间有自己的编号,起始位置的编号为0,即数组的下标 数组的创建及初始化 数组的创建 T[…

LVS-DR模式

目录 1、概述 2、LVS-DR模式的工作原理: 3、在LVS-DR模式下,数据包的流向分析如下: 4、LVS-DR是一种用于构建高可用性负载均衡集群的技术模式。LVS-DR模式具有以下特点: 5、LVS-DR中的ARP问题 6、配置LVS-DR需要以下几个关键…

CS5263替代停产IT6561连接DP转HDMI音视频转换器ASL 集睿致远CS5263设计电路原理图

ASL集睿致远CS5263是一款DP1.4到HDMI2.0b转换器芯片,设计用于将DP1.4源连接到HDMI2.0b接收器。 CS5263功能特性: DP接口包括4条主通道、辅助通道和HPD信号。接收器支持每通道5.4Gbps(HBR2)数据速率。DP接收机结合了HDCP1.4和HDCP…

每天一道leetcode:797. 所有可能的路径(图论中等深度优先遍历)

今日份题目: 给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序) graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节…