当前位置: 首页 > news >正文

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;

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

相关文章:

css之Flex弹性布局

文章目录 🐕前言:🏨定义flex容器 display:flex🏨在flex容器中子组件进行排列🪂行排列 flex-direction: row🪂将行排列进行翻转排列 flex-direction: row-reverse🏅按列排列 flex-direction: col…...

web.xml配置详解

在Java Web应用程序中,web.xml是一个XML配置文件,用于定义和配置Servlet、过滤器、监听器和其他Web应用程序组件的行为和属性。web.xml文件通常位于Web应用程序的WEB-INF目录下,用于描述Web应用程序的部署信息和配置。以下是一些web.xml配置的…...

关于我学习Go语言在CSDN分享的心得体会

最近我一直在学习Go语言,并通过CSDN平台分享我的学习心得和体会。在这篇博客中,我将与大家分享我在学习Go语言过程中的经验和收获。希望通过这篇博客能够帮助其他Go语言初学者更好地掌握这门语言,并与广大Go语言爱好者进行交流和互动。 选择…...

Java类的Builder应用以及使用@Data和@Builder高效应用Builder

⭐Java Builder模式:是Java设计模式之一,它属于对象创建型模式,是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 结论一:使用lombok的Data和Builder注解构建Java类的Builder简洁高效&am…...

【Qt控件之QTabWidget】介绍及使用

描述 QTabWidget类提供了一个带有选项卡的小部件堆栈。 选项卡小部件提供了一个选项卡栏(参见QTabBar)和一个“页面区域”,用于显示与每个选项卡相关联的页面。默认情况下,选项卡栏显示在页面区域的上方,但可以使用…...

Linux实战——网络连接模式的三种模式

Linux可以分为三种网络模式: 桥接模式 (vmnet0) 仅主机模式 (vmnet1) NAT模式 (vmnet8) 当我们下载了vmware之后,在电脑会出现两个虚拟网卡,VMware Network Adapter VMnet1、VMware Network Adapter VMnet8。 可以通过查找 控…...

嵌入式实时操作系统的设计与开发(任意大小的内存管理)

任意大小的内存管理是根据用户需要为其分配内存,即用户需要多大内存就通过acoral_malloc2()为之分配多大内存,同时每块分配出去的内存前面都有一个控制块,控制块里记录了该块内存的大小。 同时未分配出去的内存也有一个控制块,寻…...

文件读取结束的判定

大家好啊,我们今天来补充文件操作的读取结束的判定。 被错误使用的feof 牢记:在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束而是应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾…...

《基于 Vue 组件库 的 Webpack5 配置》9.module.exports 可为数组类型且注意编译顺序

module.exports常见是对象类型,其实也可用数组类型;注意编译顺序,从后往前 编: 也就是说先编 another.js,再编 index.js;所以代码第 9 行不能设置为 true,仅在第一次,也就是代码第19…...

​CUDA学习笔记(四)device管理

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/,仅用于学习。 device管理 NVIDIA提供了集中凡是来查询和管理GPU device,掌握GPU信息查询很重要,因为这可以帮助你设置kernel的执行配置。 本博文将主要介绍下面两方面内容&…...

【算法练习Day25】 重新安排行程N 皇后 解数独

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 重新安排行程N 皇后解数独总…...

软考-访问控制技术原理与应用

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 访问控制概念 访问控制是计算机安全的一个重要组成部分,用于控制用户或程序如…...

优测云测试平台 | 有效的单元测试

一、前言 本文作者提出了一种评价单元测试用例的质量的思路,即判断用例是否达到测试的“四大目标”。掌握识别好的用例的能力,可以帮助我们高效地写出高质量的测试用例。 评判冰箱的好坏,并不需要有制造一台冰箱的能力。在开始写测试用例之…...

Java设计模式之外观模式

定义 又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这样会大大降低应用程序的复杂度,…...

MyBatis实现延时加载的方式

MyBatis实现延时加载的方式有两种: 使用resultMap的association和collection标签配置延时加载:在查询语句中,使用association标签配置一对一关联关系,使用collection标签配置一对多关联关系。然后在查询结果映射的resultMap中配置…...

计算未来:微软眼中的人工智能

计算未来 :人工智能及其社会角色(The Future Computed. Artificial Intelligence and its role in society )这本书于2018年09月由北京大学出版社出版。 书籍的作者是:沈向洋(微软全球执行副总裁),(美&…...

字号和磅的对应关系

字号「八号」对应磅值5 字号「七号」对应磅值5.5 字号「小六」对应磅值6.5 字号「六号」对应磅值7.5 字号「小五」对应磅值9 字号「五号」对应磅值10.5 字号「小四」对应磅值12 字号「四号」对应磅值14 字号「小三」对应磅值15 字号「三号」对应磅值16 字号「小二」对应磅值18 …...

Bag of Tricks for Efficient Text Classification(FastText)

主要的有点就是快,用途就是用于文本分类,模型结构如上,主要是通过embedding将文本转换成向量,然后进行mean-pooling,然后输入到hidden隐向量中,通过softmax输出多分类,损失函数是对数似然损失函…...

vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法

vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法 先看一下效果图&#xff08;想在表单里动态的增删 form-item&#xff0c;然后添加rules&#xff0c;校验其必填项&#xff1b; &#xff09;: html部分 <div v-for"(item, index) in …...

使用 ClickHouse 深入了解 Apache Parquet (一)

​ 【squids.cn】 全网zui低价RDS&#xff0c;免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 自2013年作为Hadoop的列存储发布以来&#xff0c;Parquet几乎已经成为一种无处不在的文件交换格式&#xff0c;它提供了高效的存储和检索。这种采纳使其成为更近期的…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...