CSS布局 Flex 和 Grid

news2024/12/29 14:18:45

在 CSS 中,理解 flex 和 Grid 布局非常重要,今天把这两个重要知识点回顾一下。

Flexbox 弹性盒子布局

弹性布局支持 flex、inline-flex,支持块和内联。

容器
  1. 轴的概念,在 Flexbox,有主轴和侧轴的概念,轴可以理解行和列,对于轴还有一个方向的概念,默认情况,行的方向是从左至右,列的方向是从上至下。通过 flex-direction 控制
  2. 对齐方式,flex 容器的对齐方方式有三种,justify-content 主轴对齐,默认flex-start 左对齐,align-items 侧轴对齐,默认stretch充满,align-content 行对其方式,默认stretch充满。align-items和 align-content,一个是元素在行内的对齐方式,一个行间的对其方式。
  3. 换行:默认 flexbox 是不换行的。
元素
  1. 支持元素按比例缩放,flex-grow: 放大占比,flex-shrink:缩小占比,flex-basis:初始化尺寸。flex-basis 一般都是 auto,如果需要将布局与实际元素尺寸进行分离可以设置对应的大小。
  2. 自对齐:与容器的 3 种对齐方式不同,自对齐只针对元素自身。
  3. 顺序:可以定义元素顺序,元素在容器内根据顺序进行排列

从 CSS tricky 盗了一张图,帮助使用理解 flexbox,非常直观。

在这里插入图片描述

Grid网格布局

Flexbox 设计用于一维布局(行或列),而 Grid 允许同时进行水平和垂直布局对齐,非常适合更复杂的网页设计。通过将元素的 display 属性设置为 grid 或 inline-grid来实现一个网格布局,支持块和内联。

容器
  1. 网格定义:显式网格:可以使用 grid-template-rows、grid-template-columns 和 grid-template-areas 定义网格行和列。隐式网格:自动生成行和列,通过 grid-auto-rows、grid-auto-columns 和 grid-auto-flow 进行管理。例如我如果网络超出了定义,如果定义了 3x3 网格,但却放入了 10 个元素,那么网格就会使用隐式定义,auto-rows、auto-columns 默认都是auto,auto-flow 默认是行,自动加行。
  2. 指定位置:可以使用 grid-row-start、grid-row-end、grid-column-start 和 grid-column-end 指定放到什么位置。或者使用简写属性 grid-row、grid-column 和 grid-area。grid-area 属性允许将项目放置在 grid-template-areas 中定义的特定区域。例如,下面的代码
.item-a {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.item {
    grid-area: 2 / 1 / 4 / 3; // 指定坐标<row-start> / <column-start> / <row-end> / <column-end>;
}
  1. 对齐:网格提供 justify-items(单元格内行对齐)、align-items(单元格内列对齐)、justify-content(行对齐) 和 align-content(列对齐) 等属性来控制元素在其单元格内的对齐方式以及整个网格在其容器内的对齐方式。
  2. 间隙属性:row-gap、column-gap 和简写的 gap 属性允许定义行和列之间的空间。
  3. FR单位:自动调整以适应可用空间,例如 repeat(3, 1fr); 等宽 3 列。
元素
  1. 对齐:justify-self单个元素单元格内行对齐,align-self单个元素单元格内列对齐。

Grid 布局比 Flow 布局灵活也复杂一些,同样来一张图便于理解。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于python实现web漏洞挖掘技术的研究(django)

基于python实现web漏洞挖掘技术的研究(django) 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;网络爬虫&#xff0c;SQL注入&#xff0c;XSS漏洞工具&#xff1a;pycharm、Navicat、Maven 系统的实现与漏洞挖掘 系统的首页面 此次的系统首页面是登录的页…

PLC_博图系列☞P_TRIG:扫描 RLO 的信号上升沿

PLC_博图系列☞P_TRIG&#xff1a;扫描 RLO 的信号上升沿 文章目录 PLC_博图系列☞P_TRIG&#xff1a;扫描 RLO 的信号上升沿背景介绍P_TRIG&#xff1a; 扫描 RLO 的信号上升沿说明参数示例 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 P_TRIG 背景介绍 这是一…

卷积神经网络(CNN)对验证码图片识别案例

数据集 数据集下载 链接&#xff1a;https://pan.baidu.com/s/1ypNNQkR1_ZK-_KO92x6Phw?pwd6753 提取码&#xff1a;6753 图片1 -->NZPP 一个样本对应四个目标值 NZPP ---【13,25,15,15】 使用one-hot编码转换 第一个位置&#xff1a;[0,0,0,0,0,0,0,0,0,0,0,0,…

最强开源大模型Meta LIama3抢先在线体验!

4月19日Facebook母公司Meta重磅推出了其迄今最强大的开源人工智能&#xff08;AI&#xff09;模型——Llama 3。模型分为两种规模&#xff1a;8B 和 70B 参数&#xff0c;每种规模都提供预训练基础版和指令调优版。最强开源大语言模型Meta LIama3可以在线体验啦&#xff01; G…

心理学|变态心理学健康心理学——躯体疾病患者的一般心理特点

一、对客观世界和自身价值的态度发生改变 患者除了内部器官有器质或功能障碍外&#xff0c;他们的自我感觉和整个精神状态也会发生变化。使人改变对周围事物的感受和态度&#xff0c;也可以改变患者对自身存在价值的态度。这种主观态度的改变&#xff0c;可以使患者把自己置于人…

wps免登录绕路

打开注册表 regedit 新建字符串值--> false

第25天:安全开发-PHP应用文件管理包含写入删除下载上传遍历安全

第二十五天 一、PHP文件管理-下载&删除功能实现 1.文件上传&#xff1a; 无过滤机制黑名单过滤机制白名单过滤机制文件类型过滤机制 2.文件删除&#xff1a; unlink() 文件删除函数调用命令删除&#xff1a;system shell_exec exec等 3. 文件下载&#xff1a; 修改HT…

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程 我独自升级&#xff1a;崛起是一款由韩国漫画改编而成的热门多人网络在线联机游戏&#xff0c;这款游戏是一款的角色扮演类型游戏&#xff0c;游戏有着独一无二的剧情模式。小伙伴们在游戏中可以体验到独特的成长系…

URL解析

目录 URIURLURL语法相对URLURL中的转义 现在与未来PURL 在 URL出现之前&#xff0c;人们如果想访问网络中的资源&#xff0c;就需要使用不同的 应用程序&#xff0c;如共享文件需要使用 FTP程序&#xff0c;想要发送邮件必须使用 邮件程序&#xff0c;想要看新闻那只能使用…

VSCode 配置 C/C++ 环境

1 安装 VSCode 直接去官网(https://code.visualstudio.com/)下载并安装即可。 2 配置C/C编译环境 方案一 如果是在Windows&#xff0c;需要安装 MingW&#xff0c;可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。 注意安装路径不要出现中文。 打开 w…

JAVA面向对象(下)(四、内部类、枚举、包装类)

一、内部类&#xff08;续&#xff09; 1.1 内部类的分类 按照声明的位置划分&#xff0c;可以把内部类分为两大类&#xff1a; 成员内部类&#xff1a;方法外 局部内部类&#xff1a;方法内 public class 外部类名{【修饰符】 class 成员内部类名{ //方法外}【修饰符】 返…

力扣刷题 70.爬楼梯

题干 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&…

HarmonyOS开发实例:【图片编辑应用】

介绍 本篇Codelab通过动态设置元素样式的方式&#xff0c;实现几种常见的图片操作&#xff0c;包括裁剪、旋转、缩放和镜像。效果如图所示&#xff1a; 相关概念 [image组件]&#xff1a;图片组件&#xff0c;用来渲染展示图片。[div组件]&#xff1a;基础容器组件&#xff0…

PLC_博图系列☞N=:在信号下降沿置位操作数

、 PLC_博图系列☞N&#xff1a;在信号下降沿置位操作数 文章目录 PLC_博图系列☞N&#xff1a;在信号下降沿置位操作数背景介绍N&#xff1a; 在信号下降沿置位操作数说明参数示例 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 N 背景介绍 这是一篇关于PLC编程的…

Python网络数据抓取(3):Requests

引言 在这一部分&#xff0c;我们将探讨Python的requests库&#xff0c;并且利用这个库来进行网页数据抓取。那么&#xff0c;我们为何需要这个库&#xff0c;以及怎样利用它呢&#xff1f; requests库是广受大家欢迎的一个库&#xff0c;它是下载次数最多的。这个库使我们能够…

C语言学习/复习27----sizeof/strlen/数组/指针

一、数组笔试题目解析 1.一维数组 1.sizeof()操作符与int数组 注意事项1&#xff1a;sizeof()依据类型推断大小 注意事项2&#xff1a;注意区分是( )内是地址还是普通元素类型 注意事项3&#xff1a;&#xff08;&#xff09;内是单独的数组名时计算整个数组的大小&#xff0c;…

海外服务器被恶意攻击怎么办

如果您的海外服务器遭受了恶意攻击&#xff0c;以下是一些应对措施和步骤&#xff0c;立即隔离服务器。如果您察觉到服务器受到恶意攻击&#xff0c;立即隔离服务器&#xff0c;将其与网络隔离&#xff0c;以防止攻机进一步扩散。通知服务器提供商&#xff0c;以便他们能够提供…

有了可视化工具,你定制设计得瑟瑟发抖了吧,其实你想多了。

目前市面上有N多可视化的工具&#xff0c;可以做成可视化大屏&#xff0c;甚至有很多B端系统也附带可视化页面&#xff0c;据此就有很多人开始怀疑我们这些做定制开发的&#xff0c;还有啥生存空间。 其实你真的多虑了&#xff0c;存在即合理&#xff0c;我们承认可视化工具的标…

小白必备:Python必须掌握的十大模块,建议收藏!

前言 Python 是一种高级、解释型和通用动态编程语言&#xff0c;侧重于代码的可读性。 它在许多组织中使用&#xff0c;因为它支持多种编程范例。 它还执行自动内存管理。 它是世界上最受欢迎的编程语言之一。 这是有很多原因的&#xff1a; 这很容易学习。它超级多才多艺。…

05集合-CollectionListSet

Collection体系的特点、使用场景总结 如果希望元素可以重复&#xff0c;又有索引&#xff0c;索引查询要快? 用ArrayList集合, 基于数组的。(用的最多) 如果希望元素可以重复&#xff0c;又有索引&#xff0c;增删首尾操作快? 用LinkedList集合, 基于链表的。 如果希望增…