HTML页面布局之flex弹性盒子

HTML — 弹性布局(1) 对于弹性布局,首先了解其概念。弹性布局,即flex box,是一种用于在容器中进行布局的CSS技术。它使得容器内的子元素能够以灵活的方式排列、对齐、分配空间,以便应对各种屏幕尺寸和设备类型。任何一个容器都可以指定为flex布局,它提供了一种更简便、更强大的方法来实现复杂的布局,相对于传统的基于浮动和定位的布局方式更为直观和易用。 主要属性:还有其他属性如下: 包括弹性容器(flex container)和弹性项目(flex item)。设置了“display:flex 或 display: 阅读详情

每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【HTML页面布局之flex弹性盒子 】

一、背景介绍

Flexbox 布局(FLexible Box)意在提供一个更为有效的方式来进行布局、对齐和分配一个容器内元素之间的空间,即使他们的大小是未知的或者动态的。flex布局的主要思想是,让容器能够改变它的子元素的宽度/高度(甚至顺序),从而更好地填充可用的空间(主要是为了适应所有种类的设备和屏幕大小)。最重要的,flexbox 布局是可以改变方向的。与之相对的是传统布局(block是垂直方向的从上到下,inline是水平方向的从左到右)。虽然他们在页面上表现良好,但是他们缺乏弹性(字面意义上的缺乏弹性)来适应大型的或者复杂的应用(尤其是遇到方向的改变、调整大小、伸展、收缩等等这些情况时)。

二、知识剖析

采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。而且每条轴线的方向都是可以通过代码控制的,可以说这两条轴线是整个flex的控制灵魂,所以一定要有这两条轴线的概念,这样对于flex的学习是很有好处的。

三、常见问题

1.水平垂直居中。

在html的布局中,水平垂直居中是一个经常能遇到的布局方式。在传统的布局里,实现水平垂直居中需要分两步分别设置,要么先设置水平居中,要么先设置垂直居中,而且还要根据对象display的属性进行单独的设置。

比如单行文本居中:

块级元素的居中:

可以看出应用起来是很麻烦的,而且代码很多,对于日后的维护很不友好。而使用flex只要三行代码就可以了。
在这里插入图片描述

display: flex;
/*项目在主轴上的对齐方式:居中*/
justify-content: center;
/*项目在交叉轴上的对齐方式:居中*/
align-items: center;
height: 20rem;

换行也可以使用flex轻松完成。
在这里插入图片描述

四、扩展思考

flex布局在各浏览器下的兼容性

由于flex从发布到现在已经经历了很多个版本,每个版本对于浏览器的支持都是有改动的,根据CanIUse的数据可以总结如下:

IE10部分支持2012,需要-ms-前缀

Android4.1/4.2-4.3部分支持2009 ,需要-webkit-前缀

Safari7/7.1/8部分支持2012, 需要-webkit-前缀

IOS Safari7.0-7.1/8.1-8.3部分支持2012,需要-webkit-前缀

这只是粗略的概括,具体的规则可以在参考资料的链接里看到。

五、参考资料

参考一:www.ruanyifeng.com

参考二:www.cnblogs.com/myzhibie/p/4392947.html

参考三:www.cnblogs.com/mk2016/p/5562994.html

六、更多讨论:
使用flex布局整个页面。

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader) 本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。 阅读详情

相关推荐

contextcapture多区块点云_多源点云数据融合的建筑物精细化建模

本文内容来源于《测绘通报》2020年第8期,审图号:GS(2020)3611号多源点云数据融合的建筑物精细化建模王树臻1, 郑国强1, 王光生1, 胡玉民2, 张德怀2, 亓伟3 ...

weixin_36301639的博客 1825

html&CSS-----弹性布局

详细介绍html中的弹性布局,介绍其样式和相关特点,以及每一种语法的用法和样式,快点进来看看吧!!!

m0_73633088的博客 4361

yolov8的Detect层详解(输出维度改动)

对于部署端需要拿到onnx的output进行后处理,但是基于anchor_free的yolov8输出是1*(4+cls)*8400,不是我们常见的ncwh格式,所以对Detect层进行了学习,分享一下体会。

yjcccccc的博客 2万+

css弹性盒子二

以下简单的布局需求是难以或不可能用这样的工具方便且灵活的实现的:在父内容里面垂直居中一个块内容。使容器的所有子项占用等量的可用宽度/高度,而不管有多少宽度/高度可用。使多列布局中的所有列采用相同的高度,即使它们包含的内容量不同。这些弹性盒子都可以实现。。。我草指定元素的布局为弹性盒子首先,我们需要给父元素设置display:flexdiv {}

weixin_73143398的博客 3013

Mac上安装虚拟机搭载window系统

用Mac的都知道,很多window用的软件是Mac版本没有的。平时有的还得要求去用那些软件,有几种方式可供大家选择: 1.再买个window本; 2.装双系统; 3.装虚拟机,搭载window系统。 我比较推荐第3条,这样可以在Mac本上做到双开,一边开着mac一边开着window,还能做到同时处理文件,不至于重新启动操作系统,下边是具体实现步骤,其中有几个需要下载的,建议在网速好的时候完...

Coder_Mumu的博客 1万+

UIPath 获取网页元素做遍历点击的实现

UIPath 获取网页元素做遍历点击的实现

geekqian的博客 1万+

【HTML】弹性盒子 (display: flex) 布局

容器属性:flex-direction (主轴的方向),flex-warp (主轴的项目换行),justify-content (项目在主轴上的对齐方式),align-items (项目在交叉轴上的对齐方式),align-content (项目在交叉轴上的对轴线对齐方式);项目属性:order (排列顺序),flex-frow (放大比例),flex-shrink (缩小比例),flex-basis (项目初始占据的主轴空间),align-self (自己单个项目的交叉轴对齐方式)

千里之行,始于足下 3854

四、嘉立创EDA原理图绘制实战:从零搭建STM32温湿度监测系统

本文详细介绍了使用嘉立创EDA标准版从零开始绘制STM32温湿度监测系统原理图的完整流程。涵盖核心元器件选型、电源电路设计、ADC按键创新应用及模块化布局技巧,帮助电子爱好者快速掌握STM32系统设计,提升嵌入式开发实战能力。

h0i1j2k3l的博客 883

“约见”面试官系列之常见面试题第六篇说说弹性布局(建议收藏)

目录 一、基本概念 二、容器属性 2.1 flex-direction: 2.2 flex-wrap: 2.3 justify-content: 2.4 align-items: 2.5 align-content: 结合justify-content和align-items,看看在flex-direction两个不同属性值的作用下,轴心有什么不同: 三、项目属性 3.1 order属性 3.2 flex-grow属性 3.3 flex-shrink...

歌谣的博客 2068

STM32F429移植LVGL9.3.0:从源码配置到双缓冲优化实战

本文详细介绍了如何在STM32F429平台上移植LVGL 9.3.0图形库,涵盖从源码准备、工程配置、显示驱动适配到双缓冲优化等关键步骤。重点解析了利用STM32F429的硬件特性实现高效内存管理和流畅显示性能的实战技巧,为嵌入式GUI开发提供完整解决方案。

q6r7s8t9的博客 1134

Android16 RK3576 Bluetooth source和sink模式切换

摘要:本文介绍了在RK3576平台上实现蓝牙A2DP模式动态切换的修改方案。通过在device配置文件中添加A2DP Sink相关属性,修改Bluetooth模块代码实现:1)在Config.java中增加persist.bluetooth.rka2dpsink属性控制模式切换;2)修改A2dpSinkStreamHandler.java取消音频焦点限制;3)调整btif_a2dp_sink.cc默认授予音频焦点。最终通过设置persist.bluetooth.rka2dpsink属性为true/false

tzj1058756809的博客 860

flex html 页面移动,HTML页面布局之flex弹性盒子

这里是修真院前端小课堂,本篇分析的主题是【HTML页面布局之flex弹性盒子】每篇分享文从【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】八个方面深度解析前端知识/技能,本篇分享的是:【HTML页面布局之flex弹性盒子 】一、背景介绍Flexbox 布局(FLexible Box)意在提供一个更为有效的方式来进行布局、对齐和分配一个容器内元素之间的...

weixin_36307834的博客 305

题解:AcWing 6051 看病

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。但医院的排队不同其他排队,因为多数情况下,需要病情严重的人优先看病,所以希望BSNY设计系统时,以病情的严重情况作为优先级,判断接下来谁可以去看病。具体是这样的,最近来医院看病的人越来越多了,因此很多人要排队,只有当空闲时放一批病人看病。的操作,输出此时还在排队人中,优先级最大的患者姓名和优先级。后面没有输入,但需要你输出。

团爸讲算法 589

html页面布局之flex弹性盒子

一、背景介绍Flexbox 布局(FLexible Box)意在提供一个更为有效的方式来进行布局、对齐和分配一个容器内元素之间的空间,即使他们的大小是未知的或者动态的。flex布局的主要思想是,让容器能够改变它的子元素的宽度/高度(甚至顺序),从而更好地填充可用的空间(主要是为了适应所有种类的设备和屏幕大小)。最重要的,flexbox 布局是可以改变方向的。与之相对的是传统布局(block是垂直方...

qq_38333670的博客 405

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

三栏布局 - 四种实现方式(flex/float/grid/position定位)

【代码】三栏布局 - 四种实现方式(flex/float/grid/position定位)

jyl919221lc的博客 319

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Web前端flex弹性盒子实例

通过HTML代码模拟小米手机产品展示页面,采用flex布局设计。

wiefengqizhou的博客 136

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

前端HTML5 简单flex布局

前端HTML5 简单flex布局 第一步 提前简单布局 1、简单的布局一下HTML页面代码 2、我是在div标签中塞了三p标签 当然里面也可以用其他标签,这个看个人习惯。 <body> <div> <p>第一个盒子</p> <p>第二个盒子</p> <p>第三个盒子</p> </div> </body> 第二步 简单布

m0_49681744的博客 455

HTML+CSS之flex(弹性)布局

HTML+CSS之flex(弹性)布局 为解决传统布局繁琐且不易实现特殊布局的劣势,W3C提出了一种新的方案——flex布局,全称是flexbox(flexible Box),即弹性盒子。容器里的项目布局大小是未知或者是动态(弹性)的,几乎可以简便、完整、响应式地实现各种页面布局。 一 基本概念 flex容器(flex container):简称”容器”,即采用Flex布局的元素。 flex项目(flex item):简称”项目”,flex容器内的所有子元素自动成为容器成员,即为flex项目。 主轴(m

weixin_52084329的博客 685

弹性盒子(flex)

目录 一、常用的弹性盒子的属性 1、flex容器 2、flex项目 3、排列方向 4、flex容器的属性 5、 项目属性(itme) 6、圣杯布局 7、CSS中的长度单位 二、HTML5中的多媒体标签的使用 1、视频文件的格式 2、视频标签的用法 3、音频格式文件 4、页面中嵌入多媒体文件的方式 5、滚动标签 一、常用的弹性盒子的属性 1、flex容器 采用flex布局的块级标签(div) 2、flex项目 采用flex布局的块级标签的子元素 3、排列方向 dir.

Han_Zhou_Z的博客 1262

html的display布局样式

在这段html中的display :flex样式中。

hashiqimiya的博客 172

微信小程序——文字水平垂直居中

对于直接在标签里面的文字,使用flex布局控制其中的文字水平和垂直居中

知识的海洋 7545

盒子模型-弹性盒子

内容区为中心蓝色区域,width \ height属性设置的大小即为这一部分所占空间大小,padding 为填充区,设置内容与边界之间的填充,上下左右四个区域可以分别设置,内联块级元素(标签,盒子) 特点:不独占一行,对宽度高度支持,例如 img input。内联级元素(标签,盒子) 特点:不独占一行,对宽度高度不支持,例如 span a。border即为盒子的边界,可以设置其颜色,宽度等样式,四条边同样可以独立设置。即,元素可以被设置为不同的类别,可以根据布局需要,设置成不同特点的盒子模型。

weixin_63316615的博客 189

Flex弹性盒模型初尝试

html> html> head lang="en"> meta charset="UTF-8"> title>title> --> style> .div3{ width: 1000px; height: 1000px; /*声明弹性盒模型*/

gouhuarong的博客 254

云计算作业

xiaomi手机</span><span>Redmi手机</span><span>服务中心</span>flex-wrap :wrap允许弹性盒子子项换行。<span>笔记本</span><span>路由器</span><span>小爱开放平台</span><span>电视</span><span>平板</span><span>家电</span><span>社区</span><span>小米官网

2301_81053997的博客 723

解决PC端和移动端的适配和兼容问题的处理方式

我们经常会看到在我们的html页面中出现了这样一行代码, <meta name="viewport" content="width=device-width, initial-scale=1.0"> 那么这行代码有什么意义呢? 第一种:可能只是简单地认识,只要加上这行代码,然后页面的宽度就会跟我的设备宽度一致。这种是比较片面的理解。 第二种:那么这一种是什么呢?让我们先往下看,答案就在其中。 先说一下单位,我们经常看到的是以像素为单位,但是也会有以百分比和rem为单位的。 那么,在

qianluo111的博客 1万+

前端入门记录

本文是前端入门学习笔记,基于B站UP主"罗大富Bigrich"的3小时前端教程(HTML+CSS+JS)。主要记录了HTML的基础知识,包括: 文本标签(标题、段落、列表、表格等) 超链接和图片嵌入 区块元素(div、nav、span) 表单元素(form、input、label等) 文中提供了对应的HTML代码示例,并推荐了Live Preview插件用于实时预览页面效果。适合前端初学者作为快速入门参考。

2402_88322360的博客 2174
上一篇: 让div在屏幕中居中(水平居中+垂直居中)的几种方法
下一篇: px、em、rem、%、vw、wh、vm等单位有什么区别?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值