【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属性进行对齐
四、应用场景
弹性布局广泛应用于移动端网页开发,具有以下优点:
自适应性:容器与元素的自适应特性使得页面能够快速适应不同尺寸的设备和屏幕分辨率。
灵活性:提供了多种属性来控制布局,可以轻松地调整页面行为。
可读性:语法简洁清晰,易于理解,便于开发者维护和修改。
适合复杂布局:能够更好地满足设计师和开发者的要求,实现更多样化、更灵活的网页布局效果。
五、完结撒花
学习并不是枯燥无味的,只是我们不懂得从中寻找快乐罢了。
相关文章:
【CSS3】Flex弹性布局
文章目录 前言一、基本概念1.容器和项目:2.主轴和交叉轴: 二、容器属性1.flex-direction:决定主轴的方向,即x轴还是y轴2.flex-wrap:定义项目的换行方式3.flex-flow:flex-direction属性和flex-wrap属性的简写…...
Ubuntu24.04LTS设置root用户可远程登录
Ubuntu24.04LTS设置root用户可远程登录 文章目录 Ubuntu24.04LTS设置root用户可远程登录1. 设置root密码2. 设置root用户可远程登录1. 查看ssh服务是否安装2. 安装ssh服务3. 再次查看ssh服务是否安装4. 配置ssh文件5. 重启ssh服务6. root远程登录 1. 设置root密码 Ubuntu安装后…...
【计算机网络】数据链路层
跨网络传输的本质:由许多局域网(子网)转发的结果 要彻底理解跨网络转发,首先要理解 -> 局域网中报文的转发原理! 一、以太网帧格式 1.报头的含义 源地址/目的地址:源MAC地址和目的MAC地址 帧协议类型&…...
SciPy库spatial.transform模块Rotation类的from_rotvec 函数介绍
SciPy 库的 spatial.transform 模块 Rotation 类 是一个工具类,用于在多种旋转表示形式(例如旋转矩阵、四元数、旋转向量、欧拉角等)之间进行转换,以及执行旋转操作。 示例代码 1. 构造旋转对象 from scipy.spatial.transform …...
递归-迭代
24. 两两交换链表中的节点 Leetcode 24 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 递归解法 // 注意:cpp …...
Arcpy 多线程批量重采样脚本
Arcpy 多线程批量重采样脚本 import arcpy import os import multiprocessingdef resample_tifs(input_folder, output_folder, cell_size0.05, resampling_type"BILINEAR"):"""将指定文件夹下的所有 TIFF 文件重采样到指定分辨率,并输出…...
使用bcc/memleak定位C/C++应用的内存泄露问题
C/C应用的内存泄露 在笔者之前的一篇文章中,提到了通过每隔一段时间抓取应用的/proc/XXX/maps文件对比得到进程的内存增长区域,然后调用gdb调试工具的dump binary memory命令将增长的内存(即对应着泄露的内存数据)导出到文件&…...
前端和后端
前端和后端 前端、后端的编程语言/服务器前端定义前端技术栈后端定义后端技术栈 web服务器数据库浏览器URL 前端、后端的编程语言/服务器 前端定义 前端指的是用户在使用软件时所看到的那部分,是与用户直接进行交互的部分。主要负责展示信息或数据,并将…...
【含文档】基于SpringBoot+Vue的茶园茶农文化交流平台(含源码+数据库+lw)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…...
vue3项目部署在阿里云轻量应用服务器上
文章目录 概要整体部署流程技术细节小结 概要 vue3前端项目部署在阿里云轻量服务器 整体部署流程 首先有一个Vue3前端项目和阿里云应用服务器 确保环境准备 如果是新的服务器,在服务器内运行以下命令更新软件包 sudo apt update && sudo apt upgrade -y …...
Sklearn 内置数据集简介
sklearn内置了一些机器学习的数据集,其中包括iris(鸢尾花)数据集、乳腺癌数据集、波士顿房价数据集、糖尿病数据集、手写数字数据集、体能训练数据集和酒质量数据集。 datasetsloadersiris(鸢尾花)datasets.load_iris…...
【AI战略思考12】调整战略目标,聚焦数据分析,学习德川家康,剩者为王
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 战略目标调整 长期战略目标和理想不变 参与打造 AI 完全体,即通用人工智能(AGI)和超级人工智能(ASI)长期指 10 年以上 调整短期战略目标 原目标&…...
Go语言switch语句
在Go语言中,switch,是一个高度灵活,其功能强大的控制结构,相比较Java中的switch,更受到语言重视。 目录 1.基础用法2.多值匹配3.不指定表达式的 switch4.使用 fallthrough 强制进入下一个分支5.使用类型断言的 switch…...
【汽车制动】汽车制动相关控制系统
目录 1.ABS (Anti-lock Brake System,防抱死制动系统) 2.EBD(Electronic Brake-force Distribution,电子制动力分配系统) 3.TCS(Traction Control System,牵引力控制系统) 4.VDC(…...
动态规划算法--01背包问题详细讲解步骤
举个例子 要确定哪些物品被放入背包以达到最大价值,可以在计算 dp 数组的同时记录选择的物品。具体来说,可以使用一个额外的数组来记录每个状态的选择情况。以下是一个详细的步骤和代码实现: n 3 W 5 weights [2, 1, 3] values [6, 3…...
操作系统(系统调用)
一. DPL目标描述符特权级,CPL当前描述符特权级 DPL和CPL用于区分内核态和用户态。内核态的DPL为0,用户态的DPL为3。注意每个段寄存器都有DPL的数据段。当从用户态切换到内核态时需要把段寄存器的DPL也设置为0。 CPL从当前段CS寄存器的低三位读出&#x…...
“iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题
目录 文件和证书未加载或特殊字符问题 证书过期或Profile文件错误 确认开发者证书和私钥是否匹配 创建证书选择错误问题 申请苹果 AppId时勾选服务不全问题 总结 在上线ios平台的时候,在Hbuilder中打包遇见了问题,生成ipa文件时候,一…...
C4D细分曲面工具
细分为1,原理是连接两条临边的中点 细分为2 当对正方形进行循环切割时, 会改变临边 下图:没显示细分曲面 显示细分曲面...
FreeSWITCH 简单图形化界面34 - 网络环境安全的情况下,进行任意SIP注册
FreeSWITCH 简单图形化界面34 -网络环境安全的情况下,进行任意SIP注册 测试环境1、前言2、参数3、实践一下 测试环境 http://myfs.f3322.net:8020/ 用户名:admin,密码:admin FreeSWITCH界面安装参考:https://blog.cs…...
qt 发布简单项目
在 Qt 中将您的应用程序从调试模式发布为释放(Release)模式主要涉及到几个步骤。以下是一个简化的流程,适用于使用 Qt Creator 的用户: 1. 切换到 Release 模式 打开 Qt Creator。在左侧的项目视图中,选择您的项目。…...
SpringBoot启动流程
SpringApplication.run(XxxApplication.class, args); 加载各种配置信息,初始化容器并返回 1. 创建SpringApplication对象 (1)确认web应用类型,一般情况下是Servlet类型,将来会自动启动一个tomcat (2&am…...
Metasploit模块具体有哪些?
Metasploit框架是一个用于渗透测试和安全研究的强大工具,它提供了大量的模块,用于自动化漏洞利用、攻击和后期渗透等各类任务。Metasploit模块可以分为几种不同的类型,具体包括: 1. Exploit模块(漏洞利用)…...
【数据结构 | C++】部落
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属…...
Kafka 数据倾斜:原因、影响与解决方案
Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析:…...
python特殊字符序列
字符 描述 \A 只匹配字符串的开始 \b 匹配一个单词边界 \B 匹配一个单词的非边界 \d 匹配任意十进制数字字符,等价于r[0-9] \D 匹配任意非十进制数字字符,等价于r[^0-9]’ \s 匹配任意空格字符(空格符、tab制表符、换…...
银河麒麟v10 二进制kubeadm+containerd搭建k8s集群(证书100年)—— 筑梦之路
环境说明 银河麒麟v10 x86架构,cgroup v2启用 系统内核:5.4.x 源码编译安装 kubeadm 1.31.2 自编译二进制文件,证书有效期100年 containerd 版本:2.0.0 IPHostnameOS VersionKernel VersionComment192.168.10.100k8s-master…...
uniapp 选择 省市区 省市 以及 回显
从gitee仓库可以拿到demo 以及 json省市区 文件 // 这是组件部分 <template><uni-popup ref"popup" type"bottom"><view class"popup"><view class"picker-btn"><view class"left" click"…...
HashMap底层原理
jdk1.8之后hashmap底层结构 jdk1.8之后,是哈希表数据结构,也可以说是数组链表或红黑树,下图是没有添加数据的一个hashmap。 现在开始添加数据,看下面具体步骤 put操作 如下,我们来简单看看hashmap的put源码ÿ…...
【8210A-TX2】Ubuntu18.04 + ROS_ Melodic + TM-16多线激光 雷达评测
简介:介绍 TM-16多线激光雷达 在8210A载板,TX2核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX2里已经安装了ROS版本:Melodic。 大家好,…...
C语言--分支循环编程题目
第一道题目: #include <stdio.h>int main() {//分析://1.连续读取int a 0;int b 0;int c 0;while (scanf("%d %d %d\n", &a, &b, &c) ! EOF){//2.对三角形的判断//a b c 等边三角形 其中两个相等 等腰三角形 其余情…...
Flutter:AnimatedIcon图标动画,自定义Icon通过延时Interval,实现交错式动画
配置vsync,需要实现一下with SingleTickerProviderStateMixinclass _MyHomePageState extends State<MyHomePage> with SingleTickerProviderStateMixin{// late延迟初始化 AnimationControllerlate AnimationController _controller;overridevoid initStat…...
单向链接表
# 封装普通节点的类 class Node:# 构造函数 定义节点的属性def __init__(self, data):self.data data #普通节点的数据域self.next None #普通节点的链接域 刚构造的节点该位置域为空# 封装链表的类(封装头节点) class LinkList:#构造函数def __init…...
用自由贸易去推动西安低空经济创新发展
——金庆培在中国(西安)国际低空经济发展大会上的发言 首先,我非常感谢大会组织委员会能邀请我参加今天的盛会。我代表中国自由贸易区创新发展研究联盟向大会的召开表示最热烈的祝贺在此,并预祝大会圆满成功! 我的发言…...
三开关VUE组件
一、使用效果 <template><QqThreeSwitch v-model"value" /><!-- <SqThreeSwitch v-model"value" :options"[test1, test2, test3]"><template #left-action><div style"display: flex"><IconMoon…...
介绍一下stricmp(c基础)
hi , I am 36 适合对象c语言初学者 stricmp(arr1,arr2);是不区分大小写的比较 格式 #include <string.h> strcmp (arr1,arr2); 工作原理:strcmp函数按照ACII(字符编码顺序)比较两个字符串。它从两个字符串的第一个字符开始逐个比…...
恋爱通信史之身份验证和不可抵赖性
在前文保密性中讲到:私钥就是一种身份的象征。那么,使用公钥能解密采用私钥加密的数据,就是表明该条信息就是私钥持有者发送的。那接下来就阐述一下,采用私钥加密公钥解密方式的数字签名和数字证书。 数字签名——不可抵赖性 抵…...
docker搭建私有的仓库
docker搭建私有仓库 一、为什么要搭建私有的仓库? 因为在国内,访问:https://hub.docker.com/ 会出现无法访问页面。。。。(已经使用了魔法) 当然现在也有一些国内的镜像管理网站,比如网易云镜像服务、Dao…...
苹果系统中利用活动监视器来终止进程
前言 苹果系统使用的时候总是感觉不太顺手。特别是转圈的彩虹球出现的时候,就非常令人恼火。如何找到一个像Windows那样任务管理器来终止掉进程呢? 解决办法 Commandspace 弹出搜索框吗,如下图: 输入“活动”进行搜索ÿ…...
Wekan看板安装部署与使用介绍
Wekan看板安装部署与使用介绍 1. Wekan简介 Wekan 是一个开源的看板式项目管理工具,它的配置相对简单,因为大多数功能都是开箱即用的。它允许用户以卡片的形式组织和跟踪任务,非常适合敏捷开发和日常任务管理。Wekan 的核心功能包括看板…...
Linux常用命令之passwd命令详解
passwd 命令详解 passwd 命令在 Linux 和 Unix 系统中用于更改用户的密码,以及进行账户锁定、密码失效等相关操作。它是系统管理员和普通用户日常管理用户账户安全的重要工具。以下是对 passwd 命令的详细说明,包括其语法、选项和示例。 基本语法 pas…...
【django】扩展
1. Promise 1.1 对象和状态 是什么?是前端开发时js中的一个对象(包裹)。【对象】【异步请求】# 对象中有一个状态的值,status # 创建对象,不赋值,statuspendding let v1 new Promise(function(resolve, …...
Vue3 生命周期钩子详解
Vue3 生命周期钩子详解 简介 Vue3的生命周期钩子让我们能够在组件的不同阶段执行自定义代码。与Vue2相比,Vue3的生命周期钩子在Composition API中有了新的使用方式,但整体概念保持一致。 基础知识 Vue3中的生命周期钩子可以通过两种方式使用…...
LeetCode 力扣 热题 100道(八)相交链表(C++)
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&…...
RabbitMQ2:介绍、安装、快速入门、数据隔离
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册
介绍 Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,旨在为微服务架构中的分布式系统提供事务管理支持。Seata 通过提供全局事务管理,帮助开发者在分布式环境中保持数据一致性 …...
elasticsearch7.10.2集群部署带认证
安装elasticsearch rpm包安装 下载地址 https://mirrors.aliyun.com/elasticstack/7.x/yum/7.10.2/ 生成证书 #1.生成CA证书 # 生成CA证书,执行命令后,系统还会提示你输入密码,可以直接留空 cd /usr/share/elasticsearch/bin ./elasticsearch-certutil ca#会在/usr/share/el…...
opencv-python 分离边缘粘连的物体(距离变换)
import cv2 import numpy as np# 读取图像,这里添加了判断图像是否读取成功的逻辑 img cv2.imread("./640.png") # 灰度图 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 高斯模糊 gray cv2.GaussianBlur(gray, (5, 5), 0) # 二值化 ret, binary cv2…...
UVM 验证方法学之interface学习系列文章(七)高级 《bind 操作》(4)级联
在 SystemVerilog 中,bind 操作符用于将一个模块或接口实例绑定到另一个模块或接口的层次结构中。这在很多情况下非常有用,尤其是当你需要在不修改原始模块代码的情况下,添加或替换某些组件时。bind 操作符常用于仿真和测试平台中,以便灵活地组织测试环境。 前面的文章,我…...
08 —— Webpack打包图片
【资源模块 | webpack 中文文档 | webpack中文文档 | webpack中文网】https://www.webpackjs.com/guides/asset-modules/?sid_for_share99125_3 Webpack打包图片以8KB为临界值判断 大于8KB的文件:发送一个单独的文件并导出URL地址 小于8KB的文件:导出一…...
goframe开发一个企业网站 MongoDB 完整工具包19
1. MongoDB 工具包完整实现 (mongodb.go) package mongodbimport ("context""fmt""time""github.com/gogf/gf/v2/frame/g""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options" )va…...