宫格和弹性盒布局怎么用?

在CSS布局中,宫格布局(Grid Layout)和弹性布局(Flexbox)是两种非常常用且强大的布局方式。下面分别详细解释这两种布局方式。

宫格布局(CSS Grid Layout)

概述

CSS Grid Layout是一种二维的布局系统,可以用来创建复杂的网页布局。它通过将页面划分成行和列的网格,来精确地控制元素的位置和大小。

基本概念
  1. Grid Container: 容纳网格布局的元素,通过设置 display: grid;display: inline-grid; 来定义。
  2. Grid Item: 宫格容器内的直接子元素。
  3. Grid Line: 网格中的水平和垂直线,用于定义网格轨道(轨道可以理解为行或列)。
  4. Grid Track: 网格中的行或列,由两条相邻的网格线之间的空间组成。
  5. Grid Cell: 单个网格单元,由一条行线和一条列线之间的空间组成。
  6. Grid Area: 由四条网格线(两条行线和两条列线)围成的矩形区域。
核心属性
  1. grid-template-rows 和 grid-template-columns: 定义网格的行和列的大小。
  2. grid-row 和 grid-column: 指定网格项在网格中的位置。
  3. grid-template-areas: 定义网格区域的布局。
  4. gap: 定义网格行和列之间的间距(包括 row-gapcolumn-gap)。
示例代码
.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 创建3列,每列宽度相等 */
  grid-template-rows: 100px 200px; /* 创建两行,第一行高100px,第二行高200px */
  gap: 10px; /* 行和列之间的间距为10px */
}

.item1 {
  grid-column: 1 / 3; /* 占据第一列和第二列 */
  grid-row: 1; /* 占据第一行 */
}

.item2 {
  grid-column: 3; /* 占据第三列 */
  grid-row: 1 / 3; /* 占据第一行和第二行 */
}

弹性布局(Flexbox Layout)

概述

Flexbox是一种一维的布局系统,用来处理一行或一列中的子元素布局。它特别适合于在需要动态调整的情况下布局元素。

基本概念
  1. Flex Container: 容纳弹性布局的元素,通过设置 display: flex;display: inline-flex; 来定义。
  2. Flex Item: 弹性容器内的直接子元素。
  3. Main Axis: 主轴,是指弹性容器中子元素排列的主要方向,可以是水平(默认)或垂直。
  4. Cross Axis: 交叉轴,垂直于主轴的方向。
核心属性
  1. flex-direction: 定义主轴方向(如 row, row-reverse, column, column-reverse)。
  2. justify-content: 定义主轴上的对齐方式(如 flex-start, flex-end, center, space-between, space-around)。
  3. align-items: 定义交叉轴上的对齐方式(如 stretch, flex-start, flex-end, center, baseline)。
  4. flex-wrap: 定义子元素是否换行(如 nowrap, wrap, wrap-reverse)。
  5. align-content: 定义多行内容在交叉轴上的对齐方式(如 flex-start, flex-end, center, space-between, space-around, stretch)。
示例代码
.container {
  display: flex;
  flex-direction: row; /* 子元素在水平方向排列 */
  justify-content: space-between; /* 子元素在主轴上均匀分布 */
  align-items: center; /* 子元素在交叉轴上居中对齐 */
}

.item1 {
  flex: 1; /* 子元素占据可用空间的1份 */
}

.item2 {
  flex: 2; /* 子元素占据可用空间的2份 */
}

总结

宫格布局(Grid Layout)和弹性布局(Flexbox Layout)各有优劣,宫格布局更适合二维布局,提供了更强的布局控制能力;而弹性布局更适合一维布局,使用更简单,特别适用于需要动态调整的场景。根据实际需求选择合适的布局方式,能够有效提高开发效率和布局的灵活性。

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

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

相关文章

day62--若依框架(基础应用篇)

若依搭建 若依版本 官方 若依官方针对不同开发需求提供了多个版本的框架,每个版本都有其独特的特点和适用场景: 前后端混合版本:RuoYi结合了SpringBoot和Bootstrap的前端开发框架,适合快速构建传统的Web应用程序,其…

java周测总结(3)

1、什么是I0流? 是一串流动的字符,从先进先出的方式要求信息的通道。 2、什么是序列化?什么是反序列化? 序例化是将对象的状态存储到特定的存储介质中的过程反序例化是将特定的有合者公质中数据重新构建对象的过程。 3、Java中线程在哪个包下…

第57期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

海思NNIE部署yolov5-shufflenet

1.简要说明 由于NNIE上transpose支持的顺序是固定的,shufflenet那种x=torch.transpose(x,1,2).contiguous() 的操作一般是不支持的。需要进行调整。 2.使用工程以及修改 使用的是开源工程:GitHub - Lufei-github/shufflev2-yolov5: shufflev2-yolov5:lighter, faster and ea…

vue根据文字长短展示跑马灯效果

介绍 为大家介绍一个我编写的vue组件 auto-marquee ,他可以根据要展示文本是否超出展示区域,来判断是否使用跑马灯效果,效果图如下所示 假设要展示区域的宽度为500px,当要展示文本的长度小于500px时,只会展示文本&…

maven 根据不同环境,走不同的实现(多种环境组合)

​ 原因: 线上程序同时支持人大金仓和mysql,且支持根据环境动态选择 java JCE 的实现方式前期已完成 springboot 从mysql 迁移人大金仓 -kingbase :https://blog.csdn.net/qq_26408545/article/details/137777602?spm1001.2014.3001.5502 …

[leetcode] n个骰子的点数

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<double> statisticsProbability(int num) {vector<double> dp(6, 1.0 / 6.0);for (int i 2; i < num; i) {vector<double> tmp(5 * i 1, 0);for (int j 0; j < dp.size()…

昇思25天学习打卡营第9天|linchenfengxue

K近邻算法实现红酒聚类 使用MindSpore在部分wine数据集上进行KNN实验 了解KNN的基本概念&#xff1b;了解如何使用MindSpore进行KNN实验。 2、K近邻算法原理介绍 K近邻算法&#xff08;K-Nearest-Neighbor, KNN&#xff09;是一种用于分类和回归的非参数统计方法&#xff0c;…

独立开发者系列(15)——git的使用

上一篇14文章触发了敏感话题&#xff0c;直接未过审核&#xff0c;看来技术博客也有敏感点。 大部分情况下&#xff0c;独立项目是你一个人开发&#xff0c;但是当你接的项目比较大的时候&#xff0c;你需要其他人的帮忙&#xff0c;这个时候你要把代码分享给别人。因为如果你…

23种设计模式之装饰者模式

深入理解装饰者模式 一、装饰者模式简介1.1 定义1.2 模式类型1.3 主要作用1.4 优点1.5 缺点 二、模式动机三、模式结构四、 装饰者模式的实现4.1 组件接口4.2 具体组件4.3 装饰者抽象类4.4 具体装饰者4.5 使用装饰者模式4.6 输出结果&#xff1a; 五、 应用场景5.1 图形用户界面…

vxe-table合并行数据

vxe-table合并行数据 <vxe-tableborderresizableheight"500":scroll-y"{enabled: false}":span-method"mergeRowMethod":data"tableData3"><vxe-column type"seq" width"60" /><vxe-column field&…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第52课-语音控制机器人

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第52课-语音控制机器人 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

springboot拦截器,ThreadLocal(每个线程的公共区域)

拦截器 配置信息&#xff08;拦截所有请求&#xff09; 其实这种可以作为springAOP作日志记录

PPT文件中,母版视图与修改权限的区别

在PPT&#xff08;PowerPoint&#xff09;制作过程中&#xff0c;母版视图和修改权限是两个重要的概念&#xff0c;它们各自在演示文稿的编辑、管理和分发中扮演着不同的角色。本文将从定义、功能、使用场景及区别等方面详细探讨PPT母版视图与修改权限的异同。 PPT母版视图 定…

Python requests模块

Python中的requests是第三方模块用于实现HTTP请求&#xff0c;该模块在实现 HTTP请求时要比Python语言内置的 urllib 模块简化很多&#xff0c;操作更加人性化。在 Windows系统下使用requests 模块时需要通过在命令行窗口中执行 pip install requests 代码进行安装。 import r…

激发工作激情,积分体系深度融合任务管理,个人和团队参与度全面提升,目标完成率提高

任务&#xff0c;是总部推动新媒体矩阵的重要方式&#xff0c;总部可以联动多个团队发布多个作品&#xff0c;最终为品牌造势引流&#xff0c;过去&#xff0c;任务功能仅止步于考核&#xff0c;现在&#xff0c;任务功能新增“积分奖励”环节&#xff0c;真正实现激励到人、有…

IGBT(功率半导体)器件选型和应用

01 IGBT简介 IGBT是一种重要的功率半导体器件&#xff0c;全称为Insulated Gate Bipolar Transistor&#xff0c;中文全名为绝缘栅双极晶体管&#xff0c;是由双极型三极管&#xff08;BJT&#xff09;和绝缘栅型场效应管&#xff08;MOS&#xff09;组成的功率半导体器件&…

Python入门 2024/7/1

目录 第一个程序hello world 数据类型 注释 变量 用type类型查看数据类型 ​编辑 数据类型转换 ​编辑 标识符 运算符 字符串的三种定义方式 字符串拼接 ​编辑​编辑 字符串格式化 第一个程序hello world 区分c和python c是printf python是print print("h…

PO模式简介

V1顺序型&#xff1a;不能批量运行 import unittest from selenium import webdriver from time import sleep driver webdriver.Edge()# driver.maximize_window() driver.implicitly_wait(30) # driver.get(r"https://demo5.tp-shop.cn/") # driver.find_element…