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

Flex弹性布局一文通【最全Flex教学】

文章目录

  • 一.Flex布局
    • 1.1 传统布局和flex布局
      • 1.1.1 传统布局
      • 1.1.2 flex弹性布局
    • 1.2 flex初步体验
    • 1.3 布局原理
  • 二.常见Flex属性
    • 2.1 常见父项属性
    • 2.2 flex-direction主轴的方向
    • 2.3 justify-content设置主轴上的子元素排列方式
    • 2.4 设置子元素是否flex-wrap换行
    • 2.5 align-itmes设置侧轴上的子元素排列方式(单行)
    • 2.6 align-icontent设置侧轴上的子元素排列方式(多行)
    • 2.7 align-content 和 align-items 区别
    • 2.8 flex-flow 相当于flex-direction和flex-wrap
    • 2.9 flex 布局子项常见属性
      • 2.9. 1 flex属性

一.Flex布局

1.1 传统布局和flex布局

1.1.1 传统布局

  • 兼容性好

  • 布局繁琐

  • 局限性,不能再移动端很好的布局

1.1.2 flex弹性布局

  • 操作方便,布局极为简单,移动端应用很广泛

  • PC 端浏览器支持情况较差

  • E11或更低版本,不支持或仅部分支持

建议:
1.如果是 PC 端页面布局,我们还是传统布局。
2.如果是移动端或者不考虑兼容性问题的 PC 端页面布局,我们还是使用 flex 弹性布局

1.2 flex初步体验

先写一段简单的flax弹性布局案例来看一下flax~

html代码:

<div><span>1</span><span>2</span><span>3</span></div>

CSS代码:

div {display: flex;width: 80%;height: 300px;background-color: pink;justify-content: space-around;
}
div span {/* width: 150px; */height: 100px;background-color: purple;margin-right: 5px;flex: 1;
}

效果预览图:

image-20230306195040583

主要代码解释:

justify-content:属性定义了浏览器之间,如何分配顺着弹性容器主轴 (或者网格行轴) 的元素之间及其周围的空间。

space-between 最左、最右item贴合左侧或右侧边框,item与item之间间距相等。

space-around 每个item 左右方向的margin相等。两个item中间的间距会比较大

1.3 布局原理

flex 是 flexible Box 的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局。

  • 当我们为父盒子设为 flex 布局以后,子元素的 foat、clear 和 vertical-align 属性将失效。
  • 伸缩布局=弹性布局=伸缩盒布局=弹性盒布局 flex 布局

采用 Flex 布局的元素, 称为 Flex 容器(flex container) , 简称"容器"。它的所有子元素自动成为容器成员, 称为 Flex 项目(flex item) , 简称"项目"。

image-20230306203030084

  • 体验中 div 就是 flex 父容器。
  • 体验中 span 就是子容器 flex 项目
  • 子容器可以横向排列也可以纵向排列

总结 flex 布局原理:
就是通过给父盒子添加 flex 属性,来控制子盒子的位置和排列方式

二.常见Flex属性

2.1 常见父项属性

flex-direction:设置主轴发方向

justify-content:设置主轴上的子元素排列方式

flex-wrap:设置子元素是否换行

align-icontent:设置侧轴上的子元素排列方式(多行)

align-itmes:设置侧轴上的子元素排列方式(单行)

flex-flow:符合属性,相当于flex-direction和flex-wrap

2.2 flex-direction主轴的方向

在 flex 布局中,是分为主轴和侧轴两个方向,同样的叫法有:行和列、×轴和 y 轴

image-20230306221215529

image-20230306221244013

row-reverse:

image-20230306221531554

将主轴设置为y轴:

flex-direction: column;

image-20230306221614828

注意:主轴和侧轴是会变化的,就看 flex-direction 设置谁为主轴,剩下的就是侧轴。而我们的子元素是跟着主轴来排列的

2.3 justify-content设置主轴上的子元素排列方式

justify-content 属性定义了项目在主轴上的对齐方式

image-20230306221934358

平分剩余空间:

justify-content: space-around;

image-20230306223411884

先俩边贴边,然后再平分剩余空间:

justify-content: space-between;

image-20230306223607185

2.4 设置子元素是否flex-wrap换行

flex-wrap: wrap;

image-20230306231647206

image-20230306231714238

2.5 align-itmes设置侧轴上的子元素排列方式(单行)

该属性是控制子项在侧轴(默认是 y 轴)上的排列方式在子项为单项的时候使用

image-20230306231923697

align-items: center;

image-20230306232211519

拉伸:

align-items: stretch;

image-20230306232751283

2.6 align-icontent设置侧轴上的子元素排列方式(多行)

设置子项在侧轴上的排列方式并且只能用于子项出现换行的情况(多行),在单行下是没有效果的。

image-20230306233336712

align-content: space-between;

image-20230306233850005

2.7 align-content 和 align-items 区别

  • align-items 适用于单行情况下,只有上对齐、下对齐、居中和拉伸

  • align-content 适应于换行(多行)的情况下(单行情况下无效),可以设置上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。

  • 总结就是单行找 align-items 多行找 align-content

image-20230306234332207

2.8 flex-flow 相当于flex-direction和flex-wrap

flex-flow: row wrap;

image-20230306234454526

  • flex-direction :设置主轴的方向

  • justify-content:设置主轴上的子元素非列方式

  • flex-wrap :设置子元素是否换行

  • align-content :设置侧轴上的子元素的排列方式(多行)

  • align-items :设置侧轴上的子元素排列方式(单行)

  • flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

2.9 flex 布局子项常见属性

2.9. 1 flex属性

flex 属性定义子项目分配剩余空间,用 flex 来表示占多少份数。

html如下:

<section>
<div></div>
<div></div>
<div></div>
</section>

css如下:

<style>
section{display: flex;width: 60%;height: 150px;background-color: pink;margin: 0 auto;
}
section div:nth-child(1){width: 100px;height: 150px;background-color: red;
}
section div:nth-child(2){flex: 1;background-color: green;
}
section div:nth-child(3){width: 100px;height: 150px;background-color: red;
}
</style>

效果如下:

image-20230306235525699

image-20230306235532938

新建一个

<p><span>1</span><span>2</span><span>3</span>
</p>

CSS:

p{display: flex;width: 60%;height: 150px;background-color: pink;margin: 0 auto;
}
p span{flex: 1;
}
p span:nth-child(2){flex: 2;
}

效果预览:

image-20230307000137317

相关文章:

Flex弹性布局一文通【最全Flex教学】

文章目录一.Flex布局1.1 传统布局和flex布局1.1.1 传统布局1.1.2 flex弹性布局1.2 flex初步体验1.3 布局原理二.常见Flex属性2.1 常见父项属性2.2 flex-direction主轴的方向2.3 justify-content设置主轴上的子元素排列方式2.4 设置子元素是否flex-wrap换行2.5 align-itmes设置侧…...

Navicat使用教程

Navicat&#xff1a;一个可以对别人的数据库进行操作的软件&#xff08;需要与如mysql等数据库配套使用&#xff09; 1. 下载mysql MySQL :: Download MySQL Community Server (Archived Versions) 下载上面那个版本 下载下来是个压缩包&#xff0c;解压 2.配置mysql (1)在…...

35岁测试人该何去何从?10年工作经验的我,只不过是一年的工作经验用了10年......

如果到了这个年龄&#xff0c;还是初级测试&#xff0c;或者只会一些简单的自动化测试&#xff0c;那么真的是不好干了。 35的年龄&#xff0c;企业对员工是有另一层面的考量。 简单来说&#xff0c;就是年龄上去了&#xff0c;能力也要上去&#xff0c;要么是技术专家&#…...

SpringBoot 项目中集成 Prometheus 和 Grafana

项目上线后&#xff0c;除了能保障正常运行以外&#xff0c;也需要服务运行的各个指标进行监控&#xff0c;例如 服务器CPU、内存使用占比&#xff0c;Full GC 执行时间等&#xff0c;针对一些指标出现异常&#xff0c;可以加入一些报警机制能及时反馈给开发运维。这样&#xf…...

红队APT——反朔源流量加密CSMSF证书指纹C2项目CDN域前置

目录 0x01 背景交代 0x02 常见红蓝对抗中红队面临问题 0x03 蓝队发现处置情况...

Linux环境下实现并详细分析c/cpp线程池(附源码)

一、线程池原理 如果并发的线程数量很多&#xff0c;并且每个线程都是执行一个时间很短的任务就结束了&#xff0c;这样频繁创建线程就会大大降低系统的效率&#xff0c;因为频繁创建线程和销毁线程需要时间。 线程池是一种多线程处理形式&#xff0c;处理过程中将任务添加到…...

移动web(三)

her~~llo&#xff0c;我是你们的好朋友Lyle&#xff0c;是名梦想成为计算机大佬的男人&#xff01; 博客是为了记录自我的学习历程&#xff0c;加强记忆方便复习&#xff0c;如有不足之处还望多多包涵&#xff01;非常欢迎大家的批评指正。 媒体查询 目标&#xff1a;能够根据…...

macbook怎么运行exe文件 mac打开exe文件的三大方法

exe文件是Windows系统的可执行文件&#xff0c;虽然Mac系统上无法直接打开exe文件&#xff0c;但是你可以在Mac电脑上安装双系统或者虚拟机来实现mac电脑上运行exe文件。除了这两种方法之外&#xff0c;你还可以在Mac电脑上使用类虚拟机软件打开exe文件&#xff0c;这三种方法各…...

GoldenGate(OGG)高可用XAG部署

前言: 本文档主要描述通过Oracle Grid Infrastructure Agents (XAG)基于Oracle RAC实现GoldenGate(OGG)软件高可用的实施操作 环境信息&#xff1a; 源端 目标端 节点一IP 节点二IP 192.168.1.84 192.168.1.86 节点一IP 节点二IP 192.168.1.200 192.168.1.210 VIP 192.…...

如何使用Docker容器部署O2OA(翱途)开发平台与OnlyOffice的集成版本?

O2OA(翱途)开发平台[下称O2OA平台或者O2OA]默认可以和OnlyOffice进行集成来实现在线文档编辑以及流程集成。开发者可以直接安装O2OA官网的OnlyOfficeO2Server的Docker版本用于体验。本文将详细介绍如何安装O2OA OnlyOffice的Docker版本。OnlyOffice Docs Sever可以单独安装,O2…...

springboot复习(黑马)(持续更新)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗&#xff1f;SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计…...

K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示

K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCHX711称重模块1.2、STM32F103C8T6HX711称重模块五、基础知识学习与相关资料下载六、视频效果展…...

单例模式之饿汉式

目录 1 单例模式的程序结构 2 饿汉式单例模式的实现 3 饿汉式线程安全 4 防止反射破坏单例 5 总结 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。所谓单例就是在系统中只有一个该类的实例&#xff0c;并且提供一个访问该实例的全局…...

软件测试培训三个月,找到工作了11K,面试总结分享给大家

功能方面&#xff1a;问的最多的就是测试流程&#xff0c;测试计划包含哪些内容&#xff0c;公司人员配置&#xff0c;有bug开发认为不是 bug怎么处理&#xff0c;怎样才算是好的用例&#xff0c;测试用例设计方法&#xff08;等价类&#xff0c;边界值等概念方法&#xff09;&…...

Hbase备份与恢复工具Snapshot的基本概念与工作原理

数据库都有相对完善的备份与恢复功能。备份与恢复功能是数据库在数据意外丢失、损坏下的最后一根救命稻草。数据库定期备份、定期演练恢复是当下很多重要业务都在慢慢接受的最佳实践&#xff0c;也是数据库管理者推荐的一种管理规范。HBase数据库最核心的备份与恢复工具——Sna…...

RTOS中事件集的实现原理以及实用应用

事件集的原理 RTOS中事件集的实现原理是通过位掩码来实现的。事件集是一种用于在任务之间传递信号的机制。在RTOS中&#xff0c;事件集通常是一个32位的二进制位向量。每个位都代表一个特定的事件&#xff0c;例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...

计及新能源出力不确定性的电气设备综合能源系统协同优化(Matlab代码实现)

运行视频及运行结果&#xff1a; 计及碳排放成本的电-气-热综合能源系纷充节点能价计算方法研究&#xff08;Matlab代码实现&#xff09;目录 第一部分 文献一《计及新能源出力不确定性的电气设备综合能源系统协同优化》 0 引言 &#xff11; 新能源出力不确定性处理 1.1 新…...

推荐几个超实用的开源自动化测试框架

有什么好的开源自动化测试框架可以推荐&#xff1f;为了让大家看文章不蒙圈&#xff0c;文章我将围绕3个方面来阐述&#xff1a; 1、通用自动化测试框架介绍 2、Java语言下的自动化测试框架 3、Python语言下的自动化测试框架 随着计算机技术人员的大量增加&#xff0c;通过编写…...

Mac 上解压缩 RAR 文件

RAR 在十几年前的互联网曾叱咤风云般的存在。在那时&#xff0c;你所能见到的压缩文件几乎都是 RAR 格式&#xff0c;大家在 Windows 上使用的压缩、解压缩软件基本都是 WinRAR。虽然这些年使用 RAR 格式的压缩包的情况在逐渐减少&#xff0c;但是你还是经常能在国内各种网站下…...

C++核心编程<引用>(2)

c核心编程<引用>2.引用2.1引用的基本使用2.2引用注意事项2.3引用做函数参数2.4引用做函数返回值2.5引用的本质2.6常量引用2.引用 2.1引用的基本使用 作用: 给变量起别名语法:数据类型 &别名 原名演示#include<iostream> using namespace std; void func();i…...

零入门kubernetes网络实战-20->golang编程syscall操作tun设备介绍

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章主要是使用golang自带的syscall包来创建tun类型的虚拟网络设备。 注意&#xff1a; 目前只能使用syscall包来创建tun类型的虚拟设备。 tun虚拟网…...

springboot之自动配置

文章目录前言一、配置文件及自动配置原理1、配置文件2、yaml1、注解注入方式给属性赋值2、yaml给实体类赋值3、Properties给属性赋值二、springboot的多环境配置四、自动配置总结前言 1、自动装配原理 2、多种方式给属性赋值 3、多环境配置 4、自动配置 一、配置文件及自动配置…...

wxpython设计GUI:wxFormBuilder工具常用布局结构介绍之布局四—面板拼接式

python借助wxFormBuilder工具搭建基础的GUI界面—wxFormBuilder工具使用介绍&#xff1a;https://blog.csdn.net/Logintern09/article/details/126685315 布局四&#xff1a;面板拼接式&#xff0c;先Panel面板构图&#xff0c;再使用程序代码在Frame框架上拼接面板 下面讲一下…...

全网最全之接口测试【加密解密攻防完整版】实战教程详解

看视频讲的更详细&#xff1a;https://www.bilibili.com/video/BV1zr4y1E7V5/? 一、对称加密 对称加密算法是共享密钥加密算法&#xff0c;在加密解密过程中&#xff0c;使用的密钥只有一个。发送和接收双方事先都知道加密的密钥&#xff0c;均使用这个密钥对数据进行加密和解…...

Python - 目录文件(OS模块) 常用操作

目录os模块的方法os.path()模块的方法使用示例示例一&#xff1a;简单使用示例二&#xff1a;获取文件夹下指定条件的文件os模块的方法 方法说明os.listdir(path)取得指定文件夹下的文件列表os.mkdir(path)创建一个名为path的文件夹os.open(file, flags)打开一个文件&#xff…...

把本地代码初始化到远程git仓库

本地代码&#xff0c;推送到远程的git仓库。第一种方法第一步&#xff1a;建立远程的git仓库第二步&#xff1a;拉取git仓库到本地第三步&#xff1a;将本地代码复制到本地的git拉下来的文件夹中第四步&#xff1a;代码提交即可git add . --> git commit -m 初始化 --> g…...

关于angular中的生命周期函数

生命周期函数&#xff0c;也叫生命周期钩子。 Angular的每个组件&#xff08;包括根组件和子组件&#xff09;都存在一个生命周期&#xff0c;从创建、更新、到销毁&#xff0c;Angular提供组件生命周期钩子函数&#xff0c; 组件的生命周期从实例化组件类并渲染组件视图及其…...

【拼图】拼图游戏-微信小程序开发流程详解

还记得小时候玩过的经典拼图游戏吗&#xff0c;上小学时&#xff0c;在路边摊用买个玩具&#xff0c;是一个正方形盒子形状&#xff0c;里面装的是图片分割成的很多块&#xff0c;还差一块&#xff0c;怎么描述好呢&#xff0c;和魔方玩具差不多&#xff0c;有没有听说叫二维的…...

第六章 opengl之光照(颜色)

OpenGL光照颜色创建一个光照场景光照 颜色 颜色由RGB组成&#xff0c;分别是红色&#xff0c;绿色&#xff0c;蓝色。举例定义一个颜色向量&#xff1a; glm::vec3 coral(1.0f, 0.5f, 0.31f);而在现实中&#xff0c;人眼看到的是 物体反射后的颜色&#xff0c;也就是说不能被…...

C语言-基础了解-19-C位域

C位域 一、C位域 如果程序的结构中包含多个开关量&#xff0c;只有 TRUE/FALSE 变量&#xff0c;如下&#xff1a; struct {unsigned int widthValidated;unsigned int heightValidated; } status;这种结构需要 8 字节的内存空间&#xff0c;但在实际上&#xff0c;在每个变…...

网站运营与维护是什么/b2b平台有哪几个

hikvision-control实现hikvision网络摄像机的登录、云台旋转控制、实时图片截取功能。库文件安装将src-dll文件夹中的文件拷贝到系统的库文件目录&#xff0c;主意文件名称不要进行修改。windows7&#xff0c;windows server目录如下&#xff1a;C:\Windows\System32当然你也可…...

长页在线制作网站/创建软件平台该怎么做

在写上篇文章《spring整合springmvc和hibernate》的时候&#xff0c;曾遇到一个问题 INFO: Server startup in 8102 ms Hibernate: insert into t_user (name, password) values (?, ?) Mar 31, 2018 5:47:19 PM org.apache.catalina.core.StandardWrapperValve invoke SEVER…...

网站备案拍照 广州/怎么查百度搜索排名

新一代可重构ERP系统(转)新一代可重构ERP系统网络化时代&#xff0c;企业对传统ERP提出了新的要求&#xff0c;新一代ERP应运而生&#xff0c;本文简要介绍新一代ERP的发展趋势&#xff0c;同时详细介绍天剑新一代可重构ERP的内容、特点、技术架构、关键技术、系统实现方法和实…...

深圳知名网站建设公司/北京搜索引擎优化管理专员

一、题目描述 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设…...

网站建设作者墙这个模板/seo内容优化是什么意思

Linux hosts.allow与hosts.deny文件设置 转自&#xff1a; http://purpen.iteye.com/blog/1135342 redhat as4常用应用之hosts.allow和hosts.deny 一、概述 这两个文件是tcpd服务器的配置文件&#xff0c;tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下&…...

小程序怎么放在桌面/天津网站建设优化

下面是我的github&#xff0c;首页后面的教程按照这个来的。https://github.com/wangsrGit119​github.com创建同用户名仓库看下图&#xff0c;就是我的用户名同名仓库创建过程&#xff0c;因为之前创建了的所以提示已存在注意点&#xff1a;1.勾选public 2.勾选 Initialize th…...