返回

通俗易懂Flex布局,学习毫不费力!

前端

网页布局中,Flex 布局可谓是最近几年的一匹黑马,凭借着其强大的灵活性、易用性和响应式布局等优势,受到广大开发者的追捧。使用 Flex 布局,我们可以轻松地实现各种复杂布局,让网页设计更加赏心悦目。在这篇文章中,我们将带领大家深入了解 Flex 布局,从基础概念到实际应用,一文搞定 Flex 布局!

Flex 容器与 Flex 项目

一旦给父元素设置了 display: flex; 这个父元素称为 flex 容器。它的所有子元素自动成为该容器成员,成为 Flex 项目,简称为项目。容器默认存在两根轴:水平主轴和水平交叉轴。水平主轴的开始位置如图所示为 main start,结束位置叫做 main end;交叉轴的开始位置称为 cross start,结束位置称为 cross end。

排列方式与排列方向

排列方式(flex-direction)属性决定了项目在主轴上如何排列。它可以取以下值:

  • row:项目从左到右排列,从 main start 到 main end。
  • row-reverse:项目从右到左排列,从 main end 到 main start。
  • column:项目从上到下排列,从 cross start 到 cross end。
  • column-reverse:项目从下到上排列,从 cross end 到 cross start。

排列方向(flex-direction)属性决定了项目在交叉轴上如何排列。它可以取以下值:

  • nowrap:项目在一行内排列,不换行。
  • wrap:项目在多行内排列,换行。
  • wrap-reverse:项目在多行内排列,换行,但最后一行的项目在最上面。

对齐方式

对齐方式(justify-content)属性决定了项目在主轴上如何对齐。它可以取以下值:

  • flex-start:项目在主轴开始位置对齐。
  • flex-end:项目在主轴结束位置对齐。
  • center:项目在主轴中心对齐。
  • space-between:项目在主轴上均匀分布,两端对齐。
  • space-around:项目在主轴上均匀分布,项目之间有间距。

对齐方式(align-items)属性决定了项目在交叉轴上如何对齐。它可以取以下值:

  • stretch:项目在交叉轴上拉伸,填满整个容器。
  • flex-start:项目在交叉轴开始位置对齐。
  • flex-end:项目在交叉轴结束位置对齐。
  • center:项目在交叉轴中心对齐。

换行

当项目在主轴上无法容纳在一行内时,就会发生换行。换行(flex-wrap)属性决定了项目如何换行。它可以取以下值:

  • nowrap:不换行。
  • wrap:换行。
  • wrap-reverse:换行,但最后一行的项目在最上面。

弹性盒模型

Flex 布局使用弹性盒模型来定义项目的大小和位置。弹性盒模型包含四个属性:

  • flex-grow:决定项目在主轴上的增长比例。
  • flex-shrink:决定项目在主轴上的收缩比例。
  • flex-basis:决定项目在主轴上的初始大小。
  • flex:一个简写属性,可以同时设置 flex-grow、flex-shrink 和 flex-basis。

弹性项

弹性项(flexible item)是指在 flex 容器中具有 flex 属性的项目。弹性项可以根据容器的大小和内容的大小自动调整自己的大小。

实际应用

Flex 布局在实际开发中有着广泛的应用,如:

  • 网页布局:Flex 布局可以轻松地实现各种复杂布局,如网格布局、流式布局、弹性布局等。
  • 响应式布局:Flex 布局可以轻松地实现响应式布局,让网页在不同设备上都能有良好的显示效果。
  • UI 组件:Flex 布局可以轻松地构建各种 UI 组件,如导航栏、侧边栏、卡片等。

总结

Flex 布局是一种强大的布局方法,可以轻松地实现各种复杂布局。它具有灵活性、易用性和响应式布局等优势,是现代网页设计必备的技能。在这篇文章中,我们介绍了 Flex 布局的基础概念、排列方式、对齐方式、换行、弹性盒模型和弹性项等知识。通过这些知识,我们就可以轻松地掌握 Flex 布局,让网页设计更加赏心悦目!