Flexbox 布局学习笔记及案例教学

阅读时长 6 分钟读完

什么是 Flexbox 布局?

Flexbox(弹性盒子布局)是一种基于 CSS3 的布局模型,可以帮助我们更方便地进行页面布局,特别是在移动端和响应式布局方面。它的优点很多,比如可以垂直居中、自适应、自动调整元素位置和大小等,对于前端开发者来说是一个非常有用的工具。

Flexbox 的主要概念

在学习 Flexbox 布局之前,需要了解一些基本的概念:

容器(container)

容器是应用 Flexbox 布局的父元素,即包含所有子元素的元素。容器中的子元素可被称为“项目(item)”。

主轴(main axis)

主轴是 Flexbox 容器的方向,可以是水平或垂直方向。

交叉轴(cross axis)

交叉轴是与主轴垂直的轴。

方向(flex direction)

方向决定主轴的方向,默认值是从左到右,但也可以从右到左、从上到下、从下到上等。

对齐方式(justify content)

对齐方式决定项目在主轴上的对齐方式,比如居中、靠近左边、靠近右边等。

伸展(flex)

伸展决定项目的能否伸展以及可伸展的程度。每一个项目都可以设置一个 flex 属性,来控制项目所占的比例。

对齐方式(align items)

对齐方式决定项目在交叉轴上的对齐方式,比如居中、底部对齐、顶部对齐等。

Flexbox 的基本用法

将容器变为一个 Flexbox 容器:

设置 Flexbox 容器的主轴方向:

设置 Flexbox 容器的对齐方式:

设置子元素的伸展属性:

设置子元素的对齐方式:

Flexbox 的实际应用

在实际开发中,Flexbox 布局的应用非常广泛,比如创建基于列的布局(左右列等宽或固定宽度),创建响应式网格布局(自适应或固定宽度的列数),实现轮播、导航、进度条等等。下面简单介绍一些典型的案例。

列布局

  1. 左右两列等宽布局
-- -------------------- ---- -------
---- ------------------
  ---- -----------------------
  ---- ------------------------
------

-----------
  -------- -----
-
-------------
  ----- --
-
  1. 固定宽度的左右两列布局:
-- -------------------- ---- -------
---- ------------------
  ---- -----------------------
  ---- ------------------------
------

-----------
  -------- -----
-
-------------
  ------ ------
-

网格布局

  1. 3 列自适应布局:
-- -------------------- ---- -------
---- ------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
------

-----------
  -------- -----
  ---------- -----   ------
  ---------------- --------------
-
------
  ----------- ----------- - ------
  -------------- -----
-
  1. 4 列固定宽度布局:
-- -------------------- ---- -------
---- ------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
  ---- ----------------------
------

-----------
  -------- -----
  ---------- -----
  ---------------- --------------     
-
------
  ------ -------- - ------
  -------------- -----
-

其他应用

  1. 轮播图:
-- -------------------- ---- -------
---- ------------------
  ----
    -------------
    -------------
    -------------
    -------------
  -----
------

-----------
  -------- -----
  ---------------- -------
  ------------ -------
-
---
  ------ -----
  ------- -----
  -------- -----
  --------- -------
-
---
  ----- --
  ------- -----
-
  1. 导航条:
-- -------------------- ---- -------
---- ---------------
  ----
    -----------
    -------------
    -------------
    -------------
  -----
------

--------
  -------- -----
  ---------------- -------
-
---
  -------- -----
  ---------------- -------------
  ----------- -----
-
---
  -------- -----
-

总结

Flexbox 布局是一个非常有用的前端工具,可以帮助我们更轻松地进行页面布局,而且具有很好的可维护性和可扩展性,可以应用于很多不同的场景。学习 Flexbox 布局有助于提高我们的前端开发水平,虽然会涉及到一些新的概念和语法,但是只要掌握了基本的用法,就可以灵活运用到实践中去。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64741c82968c7c53b018b507

纠错
反馈