【CSS3】Flex弹性布局

文章目录

  • 前言
  • 一、基本概念
    • 1.容器和项目:
    • 2.主轴和交叉轴:
  • 二、容器属性
    • 1.flex-direction:决定主轴的方向,即x轴还是y轴
    • 2.flex-wrap:定义项目的换行方式
    • 3.flex-flow:flex-direction属性和flex-wrap属性的简写形式
    • 4.justify-content:定义项目在主轴上的对齐方式
    • 4.align-items:定义项目在交叉轴上的对齐方式
  • 三、项目属性
    • 1.order:定义项目的排列次序
    • 2.flex-grow:定义项目的放大比例
    • 3.flex-shrink:定义项目的缩小比例
    • 4.flex-basis:定义项目在分配多余空间之前的默认大小
    • 5.flex:flex-grow、flex-shrink和flex-basis的简写形式
    • 6.align-self:允许单个项目在交叉轴上覆盖容器的align-items属性进行对齐
  • 四、应用场景
  • 五、完结撒花


前言

弹性布局(Flexible Layout),也称为Flexbox布局,是CSS3主推的一种布局方式!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、基本概念

1.容器和项目:

使用display: flex;布局的元素(父元素)称为“容器”,其所有子元素自动成为容器成员,称为“项目”。容器和项目是弹性布局的基本组成单位,它们各自拥有控制布局的属性。

2.主轴和交叉轴:

主轴是项目的排列方向,可以是水平方向(x轴)或垂直方向(y轴)。交叉轴则是与主轴垂直的轴,即绕主轴顺时针旋转90°得到的轴。

在复杂布局中,元素既可以是容器也可以是项目。

二、容器属性

1.flex-direction:决定主轴的方向,即x轴还是y轴

可选值解释
row从左到右(默认值)
row-reverse从右到左
column从上到下
column-reverse从下到上

示例效果:
flex-direction: row;
在这里插入图片描述
flex-direction: row-reverse;
在这里插入图片描述
flex-direction: column;
在这里插入图片描述
flex-direction: column-reverse;
在这里插入图片描述

2.flex-wrap:定义项目的换行方式

可选值解释
nowrap不换行(默认值)
wrap换行,第一行在上方
wrap-reverse换行,第一行在下方

示例效果:(主轴方向:默认从左到右)
flex-wrap: nowrap;
在这里插入图片描述
flex-wrap: wrap;
在这里插入图片描述
flex-wrap: wrap-reverse;
在这里插入图片描述

3.flex-flow:flex-direction属性和flex-wrap属性的简写形式

比如实现水平从左到右排列,自动换行,第一行在上方,可自行尝试。

4.justify-content:定义项目在主轴上的对齐方式

可选值解释
flex-start起点对齐(默认值)
flex-end终点对齐
center居中对齐
space-between两端对齐,项目之间的间隔相等
space-around每个项目两侧的间隔相等,项目之间的间隔比项目与边框的间隔大一倍

示例效果:(主轴方向:默认从左到右)
justify-content: flex-start ;
在这里插入图片描述
justify-content: flex-end;
在这里插入图片描述
justify-content: space-between;
在这里插入图片描述
justify-content: space-around;
在这里插入图片描述
justify-content: center;
在这里插入图片描述

4.align-items:定义项目在交叉轴上的对齐方式

可选值解释
flex-start起点对齐
flex-end终点对齐
center中点对齐
baseline项目的第一行文字的基线对齐
stretch默认值,如果项目未设置高度或设为auto,将占满整个容器的高度

示例效果:(主轴方向:默认从左到右)
align-items: flex-start;
在这里插入图片描述
align-items: flex-end;
在这里插入图片描述
align-items: baseline;
在这里插入图片描述
align-items: center;
在这里插入图片描述

ps:以上属性均添加在设置display: flex;属性的元素中。

三、项目属性

1.order:定义项目的排列次序

数值越大排的越靠后,默认为0

2.flex-grow:定义项目的放大比例

  • 默认为0,即如果存在剩余空间,也不放大。
  • 当项目设置了该属性之后,原来的宽度或高度失效。
  • 父元素有多余的空间时,设置放大比例的元素会按照比例占据多余空间;当父元素空间不足时,项目会同等比例缩小。

示例效果:(主轴方向:默认从左到右)
设定flex父容器宽度为1200px,按如下设置项目的flex-grow属性
1:flex-grow: 1;
2:flex-grow: 2;
3:flex-grow: 3;
在这里插入图片描述

3.flex-shrink:定义项目的缩小比例

  • 默认为1,负值无效。
  • 当容器空间不足时,设置了flex-shrink属性的项目会按照比例缩小。
  • flex-shrink为0的项目则不会压缩。

4.flex-basis:定义项目在分配多余空间之前的默认大小

5.flex:flex-grow、flex-shrink和flex-basis的简写形式

默认值为0 1 auto。

6.align-self:允许单个项目在交叉轴上覆盖容器的align-items属性进行对齐

四、应用场景

弹性布局广泛应用于移动端网页开发,具有以下优点:

自适应性:容器与元素的自适应特性使得页面能够快速适应不同尺寸的设备和屏幕分辨率。
灵活性:提供了多种属性来控制布局,可以轻松地调整页面行为。
可读性:语法简洁清晰,易于理解,便于开发者维护和修改。
适合复杂布局:能够更好地满足设计师和开发者的要求,实现更多样化、更灵活的网页布局效果。

五、完结撒花

学习并不是枯燥无味的,只是我们不懂得从中寻找快乐罢了。
在这里插入图片描述

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

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

相关文章

vscode集成的终端里backspace键无法退格

解决办法: 搜索“backspace”,然后修改backspce对应的项的快捷键为其它按键组合,如下:

网络抓包工具tcpdump 在海思平台上的编译使用

目录 2:下载源码 1:下载 2:编译 2.1:下载 2.2:编译libpcap 2.3:编译tcpdump 3:使用验证 音视频开发中经常用到抓包工具分析数据,这里是海思平台下的tcpdump工具编译使用流程&a…

详细描述一下Elasticsearch索引文档的过程?

大家好,我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程?】面试题。希望对大家有帮助; 详细描述一下Elasticsearch索引文档的过程? Elasticsearch的索引文档过程是其核心功能之一,涉及将数据存储到…

Android:任意层级树形控件(有效果图和Demo示例)

先上效果图: 1.创建treeview文件夹 2.treeview -> adapter -> SimpleTreeAdapter.java import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ListView; i…

Jmeter中的断言(四)

13--XPath断言 功能特点 数据验证:验证 XML 响应数据是否包含或不包含特定的字段或值。支持 XPath 表达式:使用 XPath 表达式定位和验证 XML 数据中的字段。灵活配置:可以设置多个断言条件,满足复杂的测试需求。 配置步骤 添加…

3243.新增道路查询的最短距离

给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市&#xff0c;编号从 0 到 n - 1。初始时&#xff0c;每个城市 i 都有一条单向道路通往城市 i 1&#xff08; 0 < i < n - 1&#xff09;。 queries[i] [ui, vi] 表示新建一条从城市 ui 到城市 vi 的单向道路…

MySQL - 表的约束

文章目录 1、空约束2.默认值3.列描述4.zerofill5.主键6.自增长7.唯一键8.外键 真正约束字段的是数据类型&#xff0c;但是数据类型约束很单一&#xff0c;需要有一些额外的约束&#xff0c;更好的保证数据的合法性&#xff0c;从业务逻辑角度保证数据的正确性。比如有一个字段是…

VirtualBox安装虚拟机Windows server 2019系统只显示cmd命令窗口

原因&#xff1a; 没注意选用了核心安装选项&#xff0c;此选项不安装图形界面 解决&#xff1a; 方式一&#xff1a;重装虚拟机&#xff0c;选用有图形界面的版本 方式二&#xff1a;在cmd窗口中安装图形界面 Dism /online /enable-feature /all /featurename:Server-Gui-Mgm…

基于卷积神经网络的皮肤病识别系统(pytorch框架,python源码,GUI界面,前端界面)

更多图像分类、图像识别、目标检测等项目可从主页查看 功能演示&#xff1a; 皮肤病识别系统 vgg16 resnet50 卷积神经网络 GUI界面 前端界面&#xff08;pytorch框架 python源码&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的皮肤病识…

MixVpr重定位实战----onnx以及Tensorrt适配

0. 简介 对于深度学习而言&#xff0c;通过模型加速来嵌入进C是非常有意义的&#xff0c;因为本身训练出来的pt文件其实效率比较低下&#xff0c;在讲完BEVDET和FastBEV后&#xff0c;这里我们将展开实战&#xff0c;从pt到onnx再到tensorrt&#xff0c;以MixVpr作为例子&…

Java基于微信小程序的校园跑腿平台(V2.0)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Spring Boot图书馆管理系统:疫情中的管理利器

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了疫情下图书馆管理系统的开发全过程。通过分析疫情下图书馆管理系统管理的不足&#xff0c;创建了一个计算机管理疫情下图书馆管理系统的方案。文章介绍了疫情下图…

【CUDA】Branch Divergence and Unrolling Loop

目录 一、避免分支发散 1.1 并行规约问题 1.2 并行规约中的发散 二、UNrolling Loops 一、避免分支发散 控制流有时依赖于 thread 索引。同一个warp中&#xff0c;一个条件分支可能导致性能很差。通过重新组织数据获取模式可以减少或避免 warp divergence。具体问题查看下…

WIN系统解决小喇叭红色叉号的办法

WIN系统解决小喇叭红色叉号的办法 WIN系统提示无音频设备&#xff0c;无法播放声音&#xff0c;重装驱动无法解决 写在前面 前段时间搞了套6750GRE&#xff0c;用了两三个月&#xff0c;老是掉驱动&#xff0c;后面折腾了一下子&#xff0c;终于是不掉了。突然&#xff0c;某…

免费S3客户端工具大赏

首发地址&#xff08;欢迎大家访问&#xff09;&#xff1a;S3免费客户端工具大赏 1. S3 GUI GitHub地址&#xff1a;https://github.com/aminalaee/s3gui 简介&#xff1a;S3 GUI 是一款基于 Flutter 构建的免费开源 S3 桌面客户端&#xff0c;支持桌面、移动和网络平台。 特…

uniapp 购物弹窗组件 (微信小程序)

效果图&#xff0c;暂时只适应单规格&#xff0c;居中弹出和下方弹出&#xff0c;如需求不满足&#xff0c;请自行修改代码 &#xff08;更新于24/11/15) 居中显示效果 下方弹出效果 html <template><view class"" v-if"show":class"mod…

力扣-Mysql-1811 - 寻找面试候选人(中等)

一、题目来源 1811. 寻找面试候选人 - 力扣&#xff08;LeetCode&#xff09; 二、数据表结构 表: Contests -------------------- | Column Name | Type | -------------------- | contest_id | int | | gold_medal | int | | silver_medal | int | | bronze_medal | …

【C语言】volatile 防止编译的时候被优化

volatile 易变的 volatile是 C 和 C 中的一个类型修饰符&#xff0c;用于指示编译器该变量可能在程序之外被更改&#xff0c;因此不应对其进行优化。这在涉及硬件寄存器、信号处理或多线程编程时非常有用。 如果你做过单片机开发&#xff0c;你肯定写过这样的代码&#xff1a;…

makefile速通

makefile速通 文章目录 makefile速通1.基础显式规则隐含规则%*通配符 赋值 伪目标CFLAGS 2.函数wildcardpatsubst 3.项目实例 1.基础 显式规则 目标文件&#xff1a;依赖文件 [TAB] 指令隐含规则 % 任意* 所有通配符 符号含义$^所有依赖文件$所有目标文件$<所有依赖文…

面向服务的软件工程——巨详细讲解商务流程建模符号 (BPMN),一篇章带你入门BPMN!!!(week1)

文章目录 一、前言二、重点概念三、BPMN元素讲解流对象1.活动任务(Task)子流程(sub-process)多实例活动连接对象序列流消息流关联泳道Artifacts数据对象组(Group)事件(Events)启动事件中间事件结束事件边界事件边界事件1边界事件2小疑问?网关参考文献:一、前言 在我们…