css之Flex弹性布局

news2025/1/1 21:46:43

文章目录

  • 🐕前言:
    • 🏨定义flex容器 display:flex
    • 🏨在flex容器中子组件进行排列
      • 🪂行排列 flex-direction: row
      • 🪂将行排列进行翻转排列 flex-direction: row-reverse
      • 🏅按列排列 flex-direction: column;
      • 🏅按列排列 flex-direction: column-reverse
    • 🪀flex容器内的默认宽度
      • 🏅默认宽度 width: max-content
      • 🏅默认宽度 width: min-content
      • 🏅自定义宽度 flex-basis: 100px
      • 🎀平均分配宽度 flex-grow: 1
      • 🐕缩小组件逻辑 flex-shrink: 1
      • 简写:flex:grow shrink basis
    • 🎀组件交叉轴对齐方式(行高)align-items:stretch
    • 🎀组件水平轴(主轴)对齐方式 justify-content:flex-start
    • 🎀组件换行 flex-wrap:nowrap(放不下了,又不想缩小宽度,想换行放)
    • 🎀flex多轴之间的对齐 align-content: normal

🐕前言:

本篇博客会讲解css中的弹性布局的常见用法,

🏨定义flex容器 display:flex

将一个div定义成flex容器,它分为主轴与交叉轴(其中左右边对应主轴的start、end,上下边对应交叉轴的start、end

display:flex

在这里插入图片描述

🏨在flex容器中子组件进行排列

🪂行排列 flex-direction: row

flex-direction: row

在这里插入图片描述

在这里插入图片描述

🪂将行排列进行翻转排列 flex-direction: row-reverse

flex-direction: row-reverse

在这里插入图片描述
注意:由于翻转时主轴的start、end会进行对调,故紧挨着右边界

在这里插入图片描述

🏅按列排列 flex-direction: column;

flex-direction: column;

注意:按列排列时主轴的start、end会变成竖轴
在这里插入图片描述

在这里插入图片描述

🏅按列排列 flex-direction: column-reverse

注意:按列排列时主轴的start、end会变成竖轴,由于翻转时主轴的start、end会进行对调,故紧挨着下边界

flex-direction: column-reverse;

在这里插入图片描述
在这里插入图片描述

🪀flex容器内的默认宽度

在这里插入图片描述

在flex容器中哪怕你的子组件是div(块元素),也都会加上默认宽度(width:max-content)
在这里插入图片描述

🏅默认宽度 width: max-content

这个宽度就是你内容的宽度,一直不换行
在这里插入图片描述
下面还有一种情况:

🏅默认宽度 width: min-content

但是如果你的内容长度超过了页面大小(就是内容跑到显示外面去了),那么它默认长度就会发生改变,变成(width: min-content),它的长度是内容中最长单词的长度
在这里插入图片描述

🏅自定义宽度 flex-basis: 100px

假设父元素宽度500px,子组件自定义宽度50px,那么还有200px空余空间,
如果想平均分配这200px:(为了理解,这里省略了样式修饰)

.bar{
	display: flex;/* 将标签变为flex容器 */
	width: 500px;
	.item{/* 子组件 */
		flex-basis: 50px;
	}

在这里插入图片描述

🎀平均分配宽度 flex-grow: 1

在这里插入图片描述
这个是怎么计算的呢
(50px+ 1y )*5=500px ,得出y=50px的空余空间,故每个元素可以分到50px空余
在这里插入图片描述

🐕缩小组件逻辑 flex-shrink: 1

当组件的长度之和超过容器长度,默认平均长度,而不会超出页面
在这里插入图片描述
在这里插入图片描述

简写:flex:grow shrink basis

等分

flex:1 0px;

🎀组件交叉轴对齐方式(行高)align-items:stretch

默认的:(以组件中最大的行高定义)

align-items: stretch;

统一在交叉轴起点对齐

align-items: flex-start;

统一在交叉轴终点对齐

align-items: flex-end

统一在交叉轴居中对齐

align-items: center;

基于文字的基线对齐

align-items: baseline;

🎀组件水平轴(主轴)对齐方式 justify-content:flex-start

默认主轴对齐方式(以start为起始位置):

justify-content:flex-start;

以end终点对齐:

justify-content:flex-end;

水平居中:

justify-content:center;

我们设置导航栏:让组件紧挨着左右两边,中间的距离是相等的

justify-content:space-between;

我们设置导航栏:让组件比较均匀的分布,中间的距离是两边距离的两倍 2:1

justify-content:space-around;

我们设置导航栏:让组件比较均匀的分布,中间的距离等于两边的距离 1:1

justify-content:space-evenly;

🎀组件换行 flex-wrap:nowrap(放不下了,又不想缩小宽度,想换行放)

默认不换行:

flex-wrap:nowrap;

在这里插入图片描述

换行:

flex-wrap:wrap;

在这里插入图片描述

🎀flex多轴之间的对齐 align-content: normal

默认:不对齐啥样子,就是啥样子

align-content: normal

从交叉轴start对齐、从交叉轴end对齐

align-content: flex-start;
align-content: flex-end;

竖着看:首尾元素距离是中间元素之间距离的一半 1:2

align-content: space-around

在这里插入图片描述

竖着看:首尾元素没有空隙,中间距离平均

align-content: space-between;

在这里插入图片描述

竖着看:首尾元素没有空隙,中间距离平均

align-content: space-evenly;

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

统计二进制中1的个数

写一个函数返回参数二进制中 1 的个数。 比如: 15 0000 1111 4 个 1 我们先引入一个容易理解的例子,怎么得到一个十进制的数各个位置上的数为多少? 这里我们以一个十进制的三位数 123为例,要想得到它的个位,十位&#…

kubernetes-Service

文章目录 1、前言2、基本语法2.1 Service yaml2.2 关键字段2.3 port、nodePort、targetPort、containerPort字段说明 3、Service 类型3.1 ClusterIP3.2 NodePort3.3 LoadBalancer3.4 ExternalName 4、无头服务(Headless Services)5、访问service参考 1、…

R文件详细介绍、瘦身方案和原理

文章目录 1. 背景2. R文件介绍2.1 R文件概念2.1.1 标识符是怎么与资源联系起来的? 2.2 R文件内容2.3 library module和aar的R文件内容生成规则2.4 是谁生成的R文件?2.5 打包之后的R文件2.6 R文件为啥大?这么多? 3. 为什么R文件可以…

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘…

黑豹程序员-架构师学习路线图-百科:Java的第二春Spring框架

文章目录 1、 Spring的发展历史2、为什么Spring能霸屏?2.1、容器的设计2.2、通过四个策略2.3、三种方式 3、学习编程设计的典范 1、 Spring的发展历史 正当SUN公司的EJB在全球开始热炒时,正当程序员纷纷转型EJB开发时,正当程序员为跑通EJB程…

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

目前,大模型凭借超强的学习能力,已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练,通常具有良好的通用性和泛化性。用户基于“大模型预训练微调”开发范式即可在实际业务场景取…

量子力学期末复习--1

量子力学解题技巧--1 基础知识 薛定谔方程 Ehrenfest 定理 不确定性原理:正则对易关系:自由粒子:对于自由粒子,分离变量解不代表物理上可实现的态。但其含时薛定谔方程的一般解仍旧是分离变量解的线性组合 典型题目 自由粒子…

029-第三代软件开发-加载本地字体库

第三代软件开发-加载本地字体库 文章目录 第三代软件开发-加载本地字体库项目介绍加载本地字体库 关键字: Qt、 Qml、 QFont、 QFontDatabase、 ttf 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Langu…

深圳世有伯乐教育科技有限公司——LJ培训

今天来吐槽一波 深圳世有伯乐教育科技有限公司就是一个垃圾的培训机构,不,说是培训机构都是扭曲事实了,因为它根本就没有国家认可的办学许可证。光说没法让人信服,以下是企查查的截图: 世有伯乐的工商信息图片 续上&…

MPC预测控制概述和C++ 中的模型库

系列续篇: C 中的模型预测路径积分 (MPPI) 控制-CSDN博客 一、说明 以下文章描述了应用模型预测控制器的简单控制系统方法。本文讨论了这种类型的控制的基本机制,该机制适用于各种工程领域。 MPC 涉及对未来系统行为的预测(由一组方程描述的模…

.net6部署到linux上(CentOS Linux 7)

目录 一、先在linux上配置.net环境 添加 Microsoft 包存储库 安装 SDK 安装运行时 检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。 二、创建.net6 mvc项目 并发布 创建项目 修改默认端口 打包发布到文件夹 运行打包项目查看项目是否…

华为OD机试 - 代表团坐车 - 动态规划(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

【vue】vue本地储存、会话存储插件vue-ls的使用:

文章目录 一、安装:二、vue项目中使用:三、API说明: 一、安装: npm install vue-ls -S 或 yarn add vue-ls二、vue项目中使用: //在vue项目中的入口文件main.js中引入import Storage from vue-ls;options {namespac…

DNS和ICMP协议

目录 一、DNS协议 二、ICMP协议 1.ICMP协议 2.ping命令 在讲完了OSI模型每层协议的讲解后,还有一些协议我们需要再讲解一下。 一、DNS协议 DNS是一整套从域名映射到IP地址的系统,也叫做域名解析服务,端口号为53。 我们生活中访问网站都…

微软 Win11 Dev 预览版 Build 23570 发布,修复文件资源管理器卡顿问题

本心、输入输出、结果 文章目录 微软 Win11 Dev 预览版 Build 23570 发布,修复文件资源管理器卡顿问题前言微软 Win11 Dev 预览版 Build 23570 发布,修复文件资源管理器卡顿问题完整的更新日志[Windows 中的 Copilot][开始菜单][任务栏搜索][设置] 已知问…

P1950 长方形

题目&#xff1a; P1950 长方形 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 算法&#xff1a; dp动态规划 代码&#xff1a; #include<iostream> #include<string> typedef unsigned long long ull; const int N 1010; using namespace std;int r, c, i, …

kali安装nodejs、npm失败

更新apt-get再安装&#xff0c;更新时间比较久&#xff0c;看网速&#xff0c;中间有一些确认步骤 22 apt-get update23 apt-get upgrade24 apt-get install nodejs25 node26 npm27 apt-get install npm

vulnhub靶机Funbox11

下载地址&#xff1a;Funbox: Scriptkiddie ~ VulnHub 主机发现 arp-scan -l 目标192.168.21.164 端口扫描 nmap --min-rate 1000 -p- 192.168.21.164 端口好多处理一下吧 nmap --min-rate 1000 -p- 192.168.21.164 |grep open |awk -F / {print $1} |tr \n , 端口服务版本…

Openssl数据安全传输平台004:套接字C语言API封装为C++类 / 客户端及服务端代码框架

1. 客户端C API // 客户端 // C API int sckClient_init(); /* 客户端 连接服务器 */ int sckClient_connect(char *ip, int port, int connecttime, int *connfd); /* 客户端 关闭和服务端的连接 */ int sckClient_closeconn(int connfd); /* 客户端 发送报文 */ int sckClie…

1024MSF工具的基本使用(第十五课)

1024MSF工具的基本使用(第十五课) 1 MSF 介绍 MSF&#xff08;Metasploit Framework&#xff09;是一款开源的渗透测试工具&#xff0c;旨在帮助安全专家进行安全测试&#xff0c;评估和漏洞利用。MSF提供了一系列的漏洞利用、Payload以及Post Exploit模块&#xff0c;使得渗…