【前端】【css】flex布局详解
Flex 布局(Flexible Box Layout,弹性盒子布局)是 CSS3 中的一种布局模式,用于在容器中更高效地分配空间并对齐内容,即使它们的大小是动态未知的。它非常适用于响应式设计。
一、Flex 布局的基本概念
1. 启用 Flex 布局
- 只需要给父容器设置:
display: flex;
- 或者:
display: inline-flex; /* 行内弹性盒子 */
2. 容器与项目
- 容器(Flex Container):设置了
display: flex的元素。 - 项目(Flex Item):容器内的直接子元素。
二、主轴和交叉轴
- 主轴(Main Axis):项目排列的方向,默认是水平方向(从左到右)。
- 交叉轴(Cross Axis):与主轴垂直的方向。
三、Flex 容器的属性(作用于父元素)
1. flex-direction:主轴方向
| 值 | 说明 |
|---|---|
| row(默认) | 主轴为水平方向,起点在左 |
| row-reverse | 主轴为水平方向,起点在右 |
| column | 主轴为垂直方向,起点在上 |
| column-reverse | 主轴为垂直方向,起点在下 |
2. flex-wrap:是否换行
| 值 | 说明 |
|---|---|
| nowrap(默认) | 不换行 |
| wrap | 换行,第一行在上方 |
| wrap-reverse | 换行,第一行在下方 |
3. flex-flow:flex-direction + flex-wrap 的简写
flex-flow: row wrap;
4. justify-content:主轴对齐方式
| 值 | 说明 |
|---|---|
| flex-start(默认) | 起始对齐 |
| flex-end | 末尾对齐 |
| center | 居中对齐 |
| space-between | 两端对齐,项目之间间隔相等 |
| space-around | 每个项目两侧间隔相等 |
| space-evenly | 所有间隔都相等(包括头尾) |
5. align-items:交叉轴对齐方式
| 值 | 说明 |
|---|---|
| stretch(默认) | 填满交叉轴 |
| flex-start | 顶部对齐 |
| flex-end | 底部对齐 |
| center | 居中对齐 |
| baseline | 按基线对齐 |
6. align-content:多行交叉轴对齐方式(有多行时生效)
| 值 | 说明 |
|---|---|
| stretch(默认) | 填满交叉轴 |
| flex-start | 顶部对齐 |
| flex-end | 底部对齐 |
| center | 居中对齐 |
| space-between | 两端对齐 |
| space-around | 间距相等 |
| space-evenly | 间距全部相等 |
四、Flex 项目的属性(作用于子元素)
1. order:定义排列顺序
.order { order: 1; }
值越小,越靠前,默认是 0。
2. flex-grow:放大比例
.flex-grow { flex-grow: 1; }
所有项目的 flex-grow 总和决定空间分配比例。
3. flex-shrink:缩小比例
.flex-shrink { flex-shrink: 1; }
为负空间时如何缩小,默认是 1。
4. flex-basis:项目在主轴上的初始大小
.flex-basis { flex-basis: 100px; }
5. flex:简写属性,包含 grow、shrink、basis
flex: 1 0 100px;
通常写法:
flex: 1;等价于flex: 1 1 0%flex: auto;等价于flex: 1 1 autoflex: none;等价于flex: 0 0 auto
6. align-self:单独设置某个项目在交叉轴上的对齐方式(覆盖 align-items)
五、常见使用场景举例
1. 水平居中 + 垂直居中
.parent {display: flex;justify-content: center;align-items: center;
}
2. 两端对齐,中间自适应
.left { flex: 0 0 auto; }
.middle { flex: 1; }
.right { flex: 0 0 auto; }
总结
Flex 是一种强大且灵活的布局方式,核心在于:
- 设置主轴方向(
flex-direction) - 控制项目在主轴/交叉轴的对齐方式
- 利用
flex属性实现伸缩布局 - 响应式设计中的利器
相关文章:
【前端】【css】flex布局详解
Flex 布局(Flexible Box Layout,弹性盒子布局)是 CSS3 中的一种布局模式,用于在容器中更高效地分配空间并对齐内容,即使它们的大小是动态未知的。它非常适用于响应式设计。 一、Flex 布局的基本概念 1. 启用 Flex 布局…...
Java面试黄金宝典43
1. 零拷贝技术 零拷贝(Zero - copy)技术是一种高效的数据传输技术,它旨在减少数据在用户空间和内核空间之间的拷贝次数,以此提升系统的数据传输性能。在传统数据传输过程中,数据往往需要多次在用户空间和内核空间之间拷贝,这会消耗大量的 CPU 资源,而零拷贝技术能避免这…...
C语言超详细指针知识(二)
在上一篇有关指针的博客中,我们介绍了指针的基础知识,如:内存与地址,解引用操作符,野指针等,今天我们将更加深入的学习指针的其他知识。 1.指针的使用和传址调用 1.1strlen的模拟实现 库函数strlen的功能是…...
华为机试—最大最小路
题目 对于给定的无向无根树,第 i 个节点上有一个权值 wi 。我们定义一条简单路径是好的,当且仅当:路径上的点的点权最小值小于等于 a ,路径上的点的点权最大值大于等于 b 。 保证给定的 a<b,你需要计算有多少条简…...
[Linux]从零开始的ARM Linux交叉编译与.so文件链接教程
一、前言 最近在项目需要将C版本的opencv集成到原本的代码中从而进行一些简单的图像处理。但是在这其中遇到了一些问题,首先就是原本的opencv我们需要在x86的架构上进行编译然后将其集成到我们的项目中,这里我们到底应该将opencv编译为x86架构的还是编译…...
【模板】缩点
洛谷p3387 思路: 算法:tarjan算法 根据题意,我们只要找到一个路径,使得最终权重最大即可,首先,根据题目可知,如果一个点在一个环上,那么我们就将这整个环都选上,题目上允许我们能够重复走,因此,我们可以将环缩成点,将环所称点后,就可以转换成树,从没有父节点的结点开始,我们向…...
Rag实现流程
Rag实现流程 目录 Rag实现流程1. 加载问答链代码解释`chain_type="stuff"` 的含义其他 `chain_type` 参数选项及特点1. `map_reduce`2. `refine`3. `map_rerank`示例代码展示不同 `chain_type` 的使用其他参数类型2. 提出问题3. 检索相关文档代码解释其他参数类型4. …...
计算机网络- 传输层安全性
传输层安全性 7. 传输层安全性7.1 传输层安全基础7.1.1 安全需求机密性(Confidentiality)完整性(Integrity)真实性(Authenticity)不可否认性(Non-repudiation) 7.1.2 常见安全威胁窃…...
常青藤快速选择系统介绍
功能特点 支持多种属性和特性:可依据实体属性(如实体类型、图层、颜色、线宽等)以及实体特性(如直线长度、圆面积、文字内容等)进行筛选。多过滤条件与运算符号:支持多个过滤条件组合,基本涵盖实…...
【c语言】指针习题
练习一:使用指针打印数组内容 #include <stdio.h> void print(int* p, int sz) {int i 0;for (i 0; i < sz; i) {printf("%d ", *p);//printf("%d ", *(p i));} } int main() {int arr[] { 1,2,3,4,5,6,7,8,9,10 };int sz sizeof…...
KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破
引言:数据智能的第三范式 在数字化转型进入深水区的2025年,企业数据系统正面临三重悖论:数据规模指数级增长与实时决策需求之间的矛盾、多模态数据孤岛与业务连续性要求之间的冲突、静态存储范式与动态场景适配之间的鸿沟。KWDB(K…...
Sqoop常用指令
Sqoop(SQL-to-Hadoop)是一个开源工具,旨在将关系型数据库中的数据导入到Hadoop的HDFS中,或者从HDFS导出到关系型数据库中。以下是一些常用的Sqoop命令: 导入数据到HDFS 1. 基本导入 sqoop import \ --connect jdbc:mys…...
银行业务知识序言
银行业务知识体系全景解析 第一章 金融创新浪潮下的银行业务知识革命 1.1 数字化转型驱动金融业态重构 在区块链、人工智能、物联网等技术的叠加作用下,全球银行业正经历着"服务无形化、流程智能化、风控穿透化"的深刻变革。根据麦肯锡《2023全球银行业…...
智慧水务项目(八)基于Django 5.1 版本PyScada详细安装实战
一、说明 PyScada,一个基于Python和Django框架的开源SCADA(数据采集与监视控制系统)系统,采用HTML5技术打造人机界面(HMI)。它兼容多种工业协议,如Modbus TCP/IP、RTU、ASCII等,并具…...
畅游Diffusion数字人(23):字节最新表情+动作模仿视频生成DreamActor-M1
畅游Diffusion数字人(0):专栏文章导航 前言:之前有很多动作模仿或者表情模仿的工作,但是如果要在实际使用中进行电影级的复刻工作,仅仅表情或动作模仿还不够,需要表情和动作一起模仿。最近字节跳动提出了一个表情+动作模仿视频生成DreamActor-M1。 目录 贡献概述 核心动…...
【Unity网络编程知识】C#的 Http相关类学习
1、搭建HTTP服务器 使用别人做好的HTTP服务器软件,一般作为资源服务器时使用该方式(学习阶段建议使用)自己编写HTTP服务器应用程序,一般作为Web服务器或者短连接游戏服务器时使用该方式(工作后由后端程序员来做&#…...
Python operator 模块介绍
operator 模块是 Python 标准库中的一个模块,它提供了一系列与 Python 内置运算符对应的函数。这些函数可以用于替代一些常见的运算符操作,在某些场景下能让代码更加简洁、高效,还能方便地用于函数式编程。以下是对 operator 模块的详细介绍: 1. 导入模块 使用 operator …...
SpringBoot企业级开发之【用户模块-更新用户头像】
功能如下所示: 我们先看一下接口文档: 为什么头像是一串字符串呢?因为我们是将头像图片放到第三方去存储,比如:阿里云等 开发思路: 实操: 1.controller 注意!这里使用【PatchMapping】注解…...
DAPP实战篇:使用ethersjs连接智能合约并输入地址查询该地址余额
本系列目录 专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读400次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你…...
网络流量管理-流(Flow)
1. 传统网络的问题:快递员送信模式 想象你每天要寄100封信给同一个朋友,传统网络的处理方式就像一个固执的快递员: 每封信都单独处理:检查地址、规划路线、盖章、装车…即使所有信的目的地、收件人都相同,也要重复100…...
每日文献(十一)——Part two
今天从第四章:快速RCNN,方法细节开始介绍。 目录 四、快速RCNN:方法细节 4.1 快速R-CNN回顾 4.2 对抗网络设计 4.2.1 遮挡的对抗空间信息损失 4.2.2 对抗空间Transformer网络 4.2.3 对抗融合 五、实验 5.1 实验设置 5.2 PASCAL VOC…...
Laravel 实现 队列 发送邮件功能
一. 什么是队列 在构建 Web 应用程序时,你可能需要执行一些任务,例如解析文件,发送邮件,大量的数据计算等等,这些任务在典型的 Web 请求期间需要很长时间才能执行。 庆幸的是,Laravel 可以创建在后台运行…...
一、绪论(Introduction of Artificial Intelligence)
写在前面: 老师比较看重的点:对问题的概念本质的理解,不会考试一堆运算的东西,只需要将概念理解清楚就可以,最后一个题会出一个综合题,看潜力,前面的部分考的不是很深,不是很难&…...
Web攻防—SSRF服务端请求伪造Gopher伪协议无回显利用
前言 重学Top10的第二篇,希望各位大佬不要见笑。 SSRF原理 SSRF又叫服务端请求伪造,是一种由服务端发起的恶意请求,SSRF发生在应用程序允许攻击者诱使服务器向任意域或资源发送未经授权的请求时。服务器充当代理,执行攻击者构造…...
2025蓝桥杯python A组题解
真捐款去了,好长时间没练了,感觉脑子和手都不转悠了。 B F BF BF 赛时都写假了, G G G 也只写了爆搜。 题解其实队友都写好了,我就粘一下自己的代码,稍微提点个人的理解水一篇题解 队友题解 B 思路: 我…...
使用Python建模量子隧穿
引言 量子隧穿是量子力学中的一个非常有趣且令人神往的现象。在经典物理学中,我们通常认为粒子必须克服一个势垒才能通过它。但是,在量子力学中,粒子有时可以“穿越”一个势垒,即使它的能量不足以克服这个势垒。这种现象被称为“量子隧穿”。今天,我们将通过 Python 来建…...
微信小程序开发常用语法和api
vue写习惯了,小程序太久不做,一些语法和api都忘记。本文总结下小程序常用的语法和api 语法 绑定事件和传参 绑定事件还有很多,触摸反馈事件,表单事件,媒体事件后续更新细说。 <!-- 绑定事件 bindtap 事件传参 da…...
【时时三省】(C语言基础)选择结构程序综合举例
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 下面综合介绍几个包含选择结构的应用程序。 例题1: 写一程序,判断某一年是否为闰年。 程序1: 先画出判别闰年算法的流程图,见下图用变量le…...
Redis实现分布式定时任务
设计思路 任务表示:每个任务通过一个特定格式的键来表示。键名可以包含任务ID等信息,值可以是任务的具体内容或指向任务详情的引用。过期机制:利用Redis的EXPIRE命令为任务设置过期时间,当到达设定的时间点时,Redis会…...
File 类 (文件|文件夹操作)
一、File 类 1.1 前言 在 JDK 中 通过 java.io.File 类,可以实现操作系统重文件|文件夹的创建、删除、查看、重命名等操作。 1.2 File 类构造方法 File 一共提供了四个构造方法,都是有参构造。其中最常使用的是 File(String) 和 File(String, String)…...
