弹性盒模型

弹性布局(Flex) 弹性布局(Flex)提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。容器默认存在主轴与交叉轴,子元素默认沿主轴排列,子元素在主轴方向的尺寸称为主轴尺寸,在交叉轴方向的尺寸称为交叉轴尺寸。弹性布局在开发场景中用例特别多,比如页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等等。图1主轴为水平方向的Flex容器示意图。 阅读详情

flex是flexinle Box 的缩写,是弹性布局。
任何容器都可以指定flex布局:display:flex

设置了flex布局后,当前容器内子元素的float,clear,vertical-align属性将全部消失。
采用flex布局后的元素成为flex容器,它所有的子元素自动成为容器成员,称为容器项目。
容器默认存在两根轴:水平的轴(main axis)和垂直轴(竖轴/侧轴)(cross axis )
主轴开始的位置main-start,结束的位置main-end。交叉轴开始的位置cross start,结束的位置:cross end。

弹性盒模型有以下属性重点内容
以下是给容器(父元素)加的属性:

1、display:flex;设置为弹性盒。

2、flex-direction(主轴排列方向)
说明此属性指定了子元素在父容器中的位置。
flex-decoration:row(默认值):主轴为水平方向,默认在左端。
flex-decoration:row-reverse; 主轴为水平方向,起点在右端。
flex-decoration:column; 主轴为垂直方向,起点在上沿。
flex-decoration:column-reverse; 主轴为垂直方向,起点在下沿。

3、justify-content(主轴对齐方式)
说明:内容对齐,沿着弹性容器的主轴线(main axis)对齐。
justify-content:flex-start: 默认左对齐。
justify-content:flex-end; 左对齐。
justify-content:center]; 居中对齐。
justify-content:space-between; 两端对齐,中间自动分配。
justify-content:space-around; 自动分配距离。两边的距离是中间距离的一半。

4、align-items(交叉轴对齐方式)(在整个竖轴上垂直居中)
align-items:flex-start; 顶端对齐。
align-items:flex-end; 底对齐。
align-item:center;垂直居中对齐。
align-item:baseline;项目内文本的底线对齐。
align-item:strech; 项目的高度自适应容器(用时要删除原本设在项目(子元素)上的高度)

5、flex-wrap
说明:该属性控制flex容器为单行或者多行,同时横轴的方向,决定了新行堆叠大方向。
flex-wrap:nowrap; 不换行,flex容器为单行,该情况下,flex子元素可能溢出容器。
flex-wrap:nowrap; 换行。flex容器为多行,溢出的部分会放置到新的一行。
flex-wrap:wrap-reverse; 反转wrap排列,从下到上排列。

6、align-content(行与行之间的对齐方式 ,多行)
注意:本属性在只有一行的伸缩器没有效果。
align-content:flex-start:与交叉轴的起点对齐。
align-content:flex-end; 与交叉轴的终点对齐。
align-content:center; 与交叉轴的中点,中心线对齐。
align-content:space-between;与交叉轴两端对齐,轴线之间的间隔平均分布。
align-content:space-around; 每根轴线的两侧间隔都相等。
align-content:stretch;(默认值):轴线占满整个交叉轴(用时要删除原本设在项目(子元素)上的高度。)

7、align-self(对于单个项目来说的,一个项目比较特殊,和其它的项目不一样)
说明:align-self 属性可以重写弹性容器的align-items 属性的。假设align-items把各个项目在垂直中间显示,其中有个项目很特别,它就想在下面显示,这时候给这个项目加align-self属性就可以了。
align-items:stretch; 元素被拉伸,以适应容器。
align-items:center; 元素位于容器的中心。
align-items;flex-start;元素位于容器的开头。
align-items:flex-end; 元素位于容器的结尾。

8、order
说明:项目的排序,order后跟的数字越大,排在后面,默认值为0。支持负数。

9、flex-grow
定义项目的放大比例,默认值为0,有剩余空间时元素会按比例进行放大。
如果所有的项目flex-grow属性值为1,项目等分剩余空间。
box01{flex-grow:1;}
box02{flex-grow:2;}
剩余空间被分成3份,box01占1份,box02占2份。

10、flex-shrink
flex-shrink定义了项目的缩小比例,默认值为1(空间不足时项目会被缩小)
flex-shrink:0; 项目不缩小。

11、flex-basis
定义了在分配多余空间之前,项目占据的主轴空间(main size),浏览器会根据flex-basis这个属性计算主轴(main axis)是否有多余的空间,它的默认值为auto,默认为项目的本身的大小。

12、flex
flex为复合属性
设置或检索弹性盒模型对象的子元素是如何分配剩余空间的。
flex属性是有flex-grow, flex-shrink,flex-basis,三部分组成的。默认值为flex:0 1 auto;但经常只是用一个,flex;1;即分配剩余空间。相同于flex-grow属性。

使用时遇到的问题

1、在使用弹性盒模型缩小后,文字不会换行,挤在一起了。

这时在缩小到一定程度时要给文字的容器一个宽度,让屏幕缩小后,显示的是这个宽度,文字就在这一行内放不下,就会自动换到下一行。

2、使用弹性盒模型,最好把初始的页面的宽度设为百分比,这样在伸缩的时候内容就不会被盖住;不要是一个具体的数值。
另外,盒子的高度设置最小高度(min-height;)这样, 放内容的盒子就会随着缩小之后内容的增多而高度增大。高度随着内容的改变而改变。

Flex弹性布局 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。 阅读详情

相关推荐

弹性盒子display:flex flex详细举例 超详细!

<div class="box"> <!-- flex:等比分成10份 flex:1 就相当于占了10分之一--> <h2>flex:等比分成10份 flex:1 就相当于占了10分之一</h2> <div class="bigbox"> <div class="small4 nick">我是flex:4 </div> <

大超子 1179

flex布局(弹性布局)

Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 flex: 将对象作为弹性伸缩盒显示 inline-flex:将对象作为内联块级弹性伸缩盒显示 flex items默认都是沿着main axis(主轴)从main start 开始往main end 方向排布flex-direction决定了main axis的方向,有4个取值:效果如下 justify-content决定了flex items在main axis 上的对齐方式,共6个取值:效果如下: ali

weixin_52580677的博客 2万+

前端领域CSS3的弹性盒模型

在前端开发中,页面布局一直是一个重要且具有挑战性的任务。传统的布局方式,如浮动(float)、定位(position)等,在处理一些复杂的布局需求时显得力不从心,例如垂直居中、等高列布局等。CSS3的弹性盒模型(Flexbox)应运而生,它为我们提供了一种更加灵活、高效的布局解决方案。本文的目的是全面深入地介绍CSS3弹性盒模型,包括其核心概念、算法原理、实际应用等方面。范围涵盖弹性盒模型的基本原理、属性使用、项目实战以及未来发展趋势等内容,旨在帮助读者掌握弹性盒模型的使用方法,解决前端布局中的各种问题。

小白菜的博客 1113

【移动开发】弹性布局详细讲解

移动端开发常用布局之弹性布局详细讲解。

yubao0723的专栏 3551

cuda2 but found one of them on device cuda 0

cuda2 but found one of them on device cuda 0 上面问题的重点是,不是cpu和gpu之间的常规问题,而是出现在不同gpu之间的数据。 出问题地方: model = nn.DataParallel(model, device_ids=[2,4]) 先说解决方法: 方案一: model = nn.DataParallel(model, device_ids=[0,2,4]) 前面一定要给一个0的序号,如果0被别人占了呢? 方案二: os.environ["CUDA_

binqiang2wang 665

西门子S7-1200与FUNUC机器人MODBUS TCP通信

PLC与机器人通讯

Illusssion的博客 1万+

JS之弹性盒模型详解

弹性盒模型 作用 :用于页面的布局 对于布局之前知道哪些? 1、display:inline:缺点:文本极限对齐,解析空格 2、浮动:flow(本质:图文混排):缺点:高度塌陷 3、定位:相对,绝对 弹性布局是父元素控制子元素的布局方案,不需要计算,自动分配 父元素:display:flex //开启弹性盒模型(默认子元素,从左向右排列,(无论块级还是行内元素)) 我们平时: display:block;块级元素本身本质是display:block-block(对外,对内都是表现块级元素) display

qq_41260655的博客 2636

rk3588 rkaiq_3A_server 无法解析json文件记录

rk3588 rkaiq_3A_server 无法解析json文件记录

neardi_dev的博客 1万+

Flex弹性盒模型详解

Flexbox叫弹性盒模型,它的使用场景主要是屏幕自适应布局和取代浮动布局。 细节性的知识需要大量实践,系统性的知识则需要真正理解系统。我认为Flexbox就属于系统性的知识。所以这篇文章从概念入手,力求做到只要阅读一遍,就可以让开发者心中有乾坤。 一维布局模型 你他妈可能是三体看多了吧,啥叫一维布局模型? 一维布局模型,简单讲就是,在主轴方向确定的情况下,只有行,没有列。 我们熟悉的二...

前端小白的博客 2997

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1969

4. PCIe 接口时序

在上一篇中,大致介绍IPcore接口。总的来说接口如下图数据的接收和发送通过transmitTLPinterface和ReceiveTLPinterface。收发数据的时序也只是描述这几个接口的关系。从手册上截取PCIex1的接口时序。

jjinl的专栏 6123

Flex弹性盒模型

公式:项目实际尺寸 = 初始尺寸 + 剩余空间×比例(flex-grow) 或 初始尺寸 - 溢出空间×比例(flex-shrink)。flex-grow根据比例分配剩余空间,flex-shrink基于项目初始尺寸(flex-basis)计算缩小量。flex-grow、flex-shrink、flex-basis(如flex: 1等价于1 1 0%)stretch(默认)、flex-start、flex-end、center、baseline。auto(默认,基于内容)、固定值(如200px)

qazplm12580的博客 1267

基于YOLO26深度学习框架的人脸识别门禁系统的算法研究实现方法

本文研究了基于YOLO26深度学习框架的人脸识别门禁系统实现方法。系统采用YOLO26目标检测算法,通过CSPDarknet53主干网络、特征金字塔结构和注意力机制实现高效人脸检测。研究内容包括数据预处理、模型训练优化和身份验证等关键技术,使用迁移学习策略和CIoU损失函数提升检测精度。该系统可应用于智能安防场景,具有实时性强、识别准确的特点,为门禁管理提供了智能化解决方案。

一键难忘的博客 766

Flexbox弹性盒模型

Flexbox叫弹性盒模型,它的使用场景主要是屏幕自适应布局和取代浮动布局。 细节性的知识需要大量实践,系统性的知识则需要真正理解系统。我认为Flexbox就属于系统性的知识。所以这篇文章从概念入手,力求做到只要阅读一遍,就可以让开发者心中有乾坤。 一维布局模型 你他妈可能是三体看多了吧,啥叫一维布局模型? 一维布局模型,简单讲就是,在主轴方向确定的情况下,只有行,没有列。 我们熟悉的二维布局模型...

马优晨 1376

Avalonia+ReactiveUI跨平台路由:从零到舞者,你的UI也能跨界起舞?

至此,你已掌握了Avalonia+ReactiveUI的跨平台路由精髓!你的应用现在能够优雅地在各个界面间穿梭,就像是在不同星球间跳跃的宇宙飞船。无论是初探跨平台开发的新手,还是经验丰富的老船长,这段旅程都能让你的UI编排技能更上一层楼。现在,是时候让世界见证你的跨平台魔术了!💫记住,每一次实践都是向着完美编舞迈进的一步,勇敢地在你的项目中尝试吧!如果在航行中遇到风暴,别忘了回来看看这篇指南,或者在评论区抛出你的救生圈,我们一起解决!🌊。

java专栏 1535

工业级4~20mA转0~3V信号调理电路原理图设计,已量产(电流传感器)

在工业现场,4~20mA 电流信号是模拟量传输的 “老熟人”—— 抗干扰强、能跑长距离,但嵌入式 MCU 的 ADC 一般只认电压信号。最近做项目时,我设计了一款能覆盖 0~25mA(含超量程冗余)、线性输出 0~3V 的调理电路,经过现场调试挺稳定,分享下细节。

不脱发的程序猿 528

CSS属性之弹性盒模型(新)

弹性盒布局模型是 CSS3 规范中提出的一种新的布局方式。该布局模型的目的是提供一种 更加高效的方式来对容器中的 条目 进行 布局、对齐和分配空间。这种布局方式在条目尺寸未知或动态时也能工作。这种布局方式已经被主流浏览器所支持,可以在 Web 应用开发中使用。本文详细的介绍该布局模型以及如何在具体开发中应用该布局模型来简化常见的页面布局场景。

但愿人长久 千里共婵娟 2012

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

弹性盒模型布局入门

可能大家在平时工作中都会用到一些框架比如Bootstrap,iview,Element-ui等,这些UI框架都会有栅格系统,栅格系统已经能很好的满足业务需求,所以可能对css3的弹性布局不是很感冒,有的用就行了,但是若不使用任何框架完成栅格怎么办,岂不是麻爪了,学习一下弹性盒模型,了解其基础用法,以及深入。 什么是弹性盒模型 采用Flex布局的元素,称为Flex容器(flex containe...

qq_39581763的博客 248

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

弹性盒模型 Flex

弹性盒模型 Flex

qq_45970123的博客 253

弹性盒模型_百度周边响应式布局

这里写自定义目录标题html弹性盒模型案例 html弹性盒模型案例 <!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8"> <title>百度周边</title> <style> *{ margin:0; padding:0; } body{ background-color: #f2f4f5; text-align: center; } he

JiuMeilove的博客 4万+
下一篇: 表单高级和表格高级
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值