css之Flex弹性布局(父项常见属性)

文章目录

  • 🐕前言:
    • 🏨定义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.mzph.cn/news/114851.shtml

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

相关文章

No170.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

mstsc改端口为33389

windows 远程默认端口3389不太安全,改成33389防下小人 把下面的2个文本存在后缀.reg的文件,双击导入注册表,"PortNumber"dword:0000826d 这个就是33389对应的端口号的16进制值,要想自己改成其它的换下值即可 Windows …

人工智能、机器学习、深度学习的区别

人工智能涵盖范围最广,它包含了机器学习;而机器学习是人工智能的重要研究内容,它又包含了深度学习。 人工智能(AI) 人工智能是一门以计算机科学为基础,融合了数学、神经学、心理学、控制学等多个科目的交…

LeetCode讲解篇之77. 组合

文章目录 题目描述题解思路题解代码 题目描述 题解思路 遍历nums,让当前数字添加到结果前缀中,递归调用,直到前缀的长度为k,然后将前缀添加到结果集 题解代码 func combine(n int, k int) [][]int {var nums make([]int, n)fo…

最新!两步 永久禁止谷歌浏览器 Google Chrome 自动更新

先放效果图: CSDN这个问题最火的大哥的用了没用 像他这样连浏览器都打不开 为什么要禁止chrome自动更新 看到很多搞笑的大哥,说为啥要禁止; 我觉得最大的原因就是chromedriver跟不上chrome的自动更新,导致我们做selenium爬虫的…

MySQL数据库查询实战操作

前置条件: 创建库:MySQL基本操作之创建数据库-CSDN博客 创建表:MySQL基本操作之创建数据表-CSDN博客 目录 常规查询常用函数union查询一、常规查询 普通的查询方式 1、查询所有姓名以 "张" 开头的学生: SELECT * FROM student WHERE name LIKE 张%; 这条语…

支付风控规则

支付宝使用基本风控规则 一、 6个规则 1、规则一:30分钟内,不要连续刷3笔(包括失败交易),两笔交易时间间隔大于5分钟,交易金额不要一样,不要贴近限额; 2、规则二:非正…

matlab中绘制 维诺图(Voronoi Diagram)

1.专业术语(相关概念): 基点Site:具有一些几何意义的点 细胞Cell:这个Cell中的任何一个点到Cell中基点中的距离都是最近的,离其他Site比离内部Site的距离都要远。 Cell的划分:基点Site与其它的…

Java中的static关键字

一、static关键字的用途 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是s…

app分发的一些流程

应用分发的流程通常包括以下步骤: 开发应用程序:首先,您需要开发您的应用程序。这包括编写代码、设计用户界面、测试应用程序等等。确保您的应用程序符合各个应用商店的规范和要求,以确保顺利通过审核。 准备应用材料&#xff1a…

Linux系统管理:虚拟机Kylin OS安装

目录 一、理论 1.Kylin OS 二、实验 1.虚拟机Kylin OS安装准备阶段 2.安装Kylin OS 3.进入系统 一、理论 1.Kylin OS (1)简介 麒麟操作系统(Kylin OS)亦称银河麒麟,是由中国国防科技大学、中软公司、联想公司…

vue3点击表格某个单元格文本就切换成输入框,其他单元格不变化

<el-table :data"data.tableData" height"60vh" border scrollbar-aways-on><el-table-column label"序号" type"index" width"80" fixed /><el-table-column label"操作" width"120" f…

【c++】简单了解运算符重载

引例 class Integer{ public:Integer(int num):_num(num){}int& getValue(){return _num;} private:int _num; };现在有两个Integer对象a,b。想让a和b相加得到的结果给对象c&#xff0c;现在可以肯定的是cab编译后肯定会报错 请注意这条信息no match for operator (oper…

【Spring Boot 源码学习】HttpEncodingAutoConfiguration 详解

Spring Boot 源码学习系列 HttpEncodingAutoConfiguration 详解 引言往期内容主要内容1. CharacterEncodingFilter2. HttpEncodingAutoConfiguration2.1 加载自动配置组件2.2 过滤自动配置组件2.2.1 涉及注解2.2.2 characterEncodingFilter 方法2.2.3 localeCharsetMappingsCus…

会声会影2024有哪些新功能?好不好用

比如会声会影视频编辑软件&#xff0c;既加入光影、动态特效的滤镜效果&#xff0c;也提供了与色彩调整相关的LUT配置文件滤镜&#xff0c;可选择性大&#xff0c;运用起来更显灵活。会声会影在用户的陪伴下走过20余载&#xff0c;经过上百个版本的优化迭代&#xff0c;已将操作…

html列表

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>列表名称</title> </head> <body> <!--有序列表--> <ol><li>java</li><li>python</li><li…

centos 7.9 源码安装htop

1.下载源码 wget http://sourceforge.net/projects/htop/files/latest/download 2.上传到tmp目录&#xff0c;并解压 tar xvzf htop-1.0.2.tar.gz mv htop-1.0.2 /opt/ 进入到 cd /opt/htop-1.0.2/ 3.编译并安装 ./configure && make && make install 4.…

Ubuntu docker安装mysql

本文介绍如何在docker中安装mysql&#xff0c;之前有尝试过先在docker中安装一个ubuntu到镜像&#xff0c;然后进去再去安装mysql相关的东西&#xff0c;发现不行&#xff0c;这边整理一下一个可行的方式。 在下载镜像的时候&#xff0c;直接下载mysql镜像。 1.搜索镜像 doc…

redis怎么设计一个高性能hash表

问题 redis 怎么解决的hash冲突问题 &#xff1f;redis 对于扩容rehash有什么优秀的设计&#xff1f; hash 目标是解决hash冲突&#xff0c;那什么是hash冲突呢&#xff1f; 实际上&#xff0c;一个最简单的 Hash 表就是一个数组&#xff0c;数组里的每个元素是一个哈希桶&…

实现Linux下Word转PDF、Java调用命令方式

使用 LibreOffice 实现 Word 转 PDF 和 Java 调用命令 1、 安装 LibreOffice 外网安装 # 一键安装 yum install -y libreoffice # 验证版本 libreoffice --version # Warning: -version is deprecated. Use --version instead. # LibreOffice 7.5.6.2 f654817fb68d6d4600d7…