弹性盒子布局——Flex

弹性盒子布局——Flex2009 年 W3C 提出了一种新的方案 Flex 布局 可以简便 完整 响应式地实现各种页面布局 目前 它已经得到了所有浏览器的支持 这意味着 现在就能很安全地使用这项功能 一 Flex 布局是什么 Flex 是 FlexibleBox 的缩写 意为 弹性布局 用来为盒状模型提供最大的灵活性 任何一个容器都可以指定为 Flex 布局 box display flex

2009年,W3C 提出了一种新的方案—-Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

一、Flex 布局是什么?

Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

  • 任何一个容器都可以指定为 Flex 布局。
.box{ display: flex; } 
  • 行内元素也可以使用 Flex 布局。
.box{ display: inline-flex; } 
  • Webkit 内核的浏览器,必须加上-webkit前缀。
.box{ display: -webkit-flex; /* Safari */ display: flex; } 

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

二、基本概念

项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

三、容器的属性

以下6个属性设置在容器上。

 flex-direction flex-wrap flex-flow justify-content align-items align-content 
3.1 flex-direction属性
  • flex-direction属性决定主轴的方向(即项目的排列方向)。

在这里插入图片描述

.box { flex-direction: row | row-reverse | column | column-reverse; } 
  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。
3.2 flex-wrap属性
  • 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行。
    在这里插入图片描述

.box{ flex-wrap: nowrap | wrap | wrap-reverse; } 
  • nowrap(默认):不换行。
    在这里插入图片描述

  • wrap:换行,第一行在上方。
    在这里插入图片描述

  • wrap-reverse:换行,第一行在下方。
    在这里插入图片描述

3.3 flex-flow
  • flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.box { flex-flow: 
  
    || 
   
     ; } 
    
  
3.4 justify-content属性
  • justify-content属性定义了项目在主轴上的对齐方式。
.box { justify-content: flex-start | flex-end | center | space-between | space-around; } 

在这里插入图片描述

  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center: 居中
  • space-between:两端对齐,项目之间的间隔都相等。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

3.5 align-items属性

  • align-items属性定义项目在交叉轴上如何对齐。
.box { align-items: flex-start | flex-end | center | baseline | stretch; } 

在这里插入图片描述

  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline: 项目的第一行文字的基线对齐。
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

3.6 align-content属性

  • align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
.box { align-content: flex-start | flex-end | center | space-between | space-around | stretch; } 

在这里插入图片描述

  • flex-start:与交叉轴的起点对齐。
  • flex-end:与交叉轴的终点对齐。
  • center:与交叉轴的中点对齐。
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  • stretch(默认值):轴线占满整个交叉轴。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205816.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:07
下一篇 2026年3月19日 下午5:07


相关推荐

  • 可用的NTP服务器地址「建议收藏」

    可用的NTP服务器地址「建议收藏」国内可用的Internet时间同步服务器地址(NTP时间服务器)好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com以下红色部分是我能ping通的地址,不能平通的也…

    2022年6月14日
    31
  • 对于字符串向smalldatetime转换失败问题的解决

    对于字符串向smalldatetime转换失败问题的解决此类问题一般出现于动态存储过程,我以up_selectTradeInfo为例简单说明该问题的解决方法 –建表–银行卡表GOUSEBankCardManageDBGOIFEXISTS(SELECT*FROMsys.objectsWHERENAME=BankCard) DROPTABLEBankCardCREATETABLEBankCard ( ID intiden

    2022年5月12日
    60
  • Tomcat 面试题(总结最全面的面试题!!!)

    Tomcat 面试题(总结最全面的面试题!!!)1、Tomcat是什么Tomcat是一个应用服务器,比方说,我有个web项目是想让他运行,就可以在运行在tomcat平台上,如果开启就可以运行访问,如果停掉tomcat服务,那么无法访问了2、Tomcat的默认端口是多少,怎么修改?8080修改方式:(1)找到Tomcat目录下的conf文件夹(2)进入conf文件夹里面找到server.xml文件(3)打开server.xml文件…

    2022年6月3日
    40
  • 十大排序——最全最详细,一文让你彻底搞懂

    十大排序——最全最详细,一文让你彻底搞懂最全最详细,一文带你了解十大排序Sort写在前面因为GitHub的主文档太长,不容易维护,所以建立子文档以辅助。本篇内容是主文档中的排序部分的扩展。注:本篇内容最早发布于GitHub中,如果你觉得我写得还行,记得给我Star或是Fork~~献给我的家人作者Three领英知乎力扣CSDN????????????不积跬步,无以至千里;不积小流,无以成江海。????Top代表返回顶部????代表到文档末尾如果你觉得我

    2022年7月24日
    19
  • Dumpbin

    Dumpbindumpbin.exe是微软二进制文件转储器。显示有关通用对象文件格式(COFF)的二进制文件的信息。可以使用DUMPBIN检查COFF对象文件、COFF对象、可执行文件和动态链接库(Dll)的标准库。用法:DUMPBIN[选项][文件]选项:/ALL;此选项显示除代码反汇编外的所有可用信息。使用/DI…

    2022年6月19日
    31
  • 手把手教你怎么在PyCharm中导入库

    手把手教你怎么在PyCharm中导入库大家都知道 Python 是一个极其方便的由库构建的编程语言 比如机器学习的库 sklearn 文件读取 pandas 文件读写 xlwt xlrt 矩阵运算 numpy 等等等等等等等等等等 多到你无法想象 那到底如何导入 Python 库呢 我们今天就来学习一下 点击 File gt NewProject 创建一个 PyCharm 项目 然后点击 File gt Settings gt P

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号