CSS Flexbox 布局中的伸缩容器与伸缩项目

阅读时长 5 分钟读完

CSS Flexbox 布局是一种强大的工具,可以用于构建现代网页的布局和设计。Flexbox 布局中的两个主要概念是“伸缩容器”和“伸缩项目”,其中伸缩容器是一个包含伸缩项目的容器,而伸缩项目则是放置在伸缩容器中并按照一定的规则进行排列和对齐的元素。本文将详细介绍伸缩容器和伸缩项目在 Flexbox 布局中的使用。

伸缩容器

伸缩容器是 Flexbox 布局中的一个重要概念,它是一个包含伸缩项目的容器,并负责调整伸缩项目的大小和位置。一个伸缩容器拥有以下特点:

  1. 使用 display:flexdisplay:inline-flex 属性声明。
  1. 默认情况下,伸缩容器中的伸缩项目会按照主轴方向排列,主轴方向由 flex-direction 属性决定。
  1. 伸缩容器中的伸缩项目可以通过 flex-wrap 属性进行换行。
  1. 伸缩容器中的伸缩项目可以通过 justify-content 属性在主轴上对齐。
  1. 伸缩容器中的伸缩项目可以通过 align-itemsalign-content 属性在交叉轴上对齐。

伸缩项目

伸缩项目是放置在伸缩容器中并按照一定的规则进行排列和对齐的元素。一个伸缩项目拥有以下特点:

  1. 默认情况下,伸缩项目会填满整个伸缩容器,并在主轴上均分空间。
  1. 伸缩项目可以通过 flex 属性进行自适应大小。
  1. 伸缩项目可以通过 order 属性进行排序。
  1. 伸缩项目可以通过 flex-grow 属性进行比例放大。
  1. 伸缩项目可以通过 flex-shrink 属性进行比例缩小。
  1. 伸缩项目可以通过 flex-basis 属性进行基础大小设置。

示例代码

下面是一个简单的 Flexbox 布局示例,其中伸缩容器和伸缩项目的使用也体现了上述特点。

HTML 代码:

CSS 代码:

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

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

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

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

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

------- -
  ----- - - ------
-
展开代码

在上述代码中,伸缩容器使用了 display:flex 属性表示是一个伸缩容器,并使用了 flex-wrap:wrap 属性进行换行,这样在容器宽度不足以容纳所有伸缩项目时,就会显示在下一行上。同时,使用 justify-content:centeralign-items:centeralign-content:center 属性,在主轴和交叉轴上对齐伸缩项目。

其中具体的伸缩项目的特点可以看到,item-1 使用了 order:2; 属性放到了伸缩容器的负载端,同时使用了 flex:1 0 200px; 属性表示在空间充足时会均分空间,但会占据 200px 的基础空间大小;item-2 使用了 order:3; 属性,同时使用了 flex:2 1 auto; 属性表示在空间充足时会被放大,并且在空间不足时可以被缩小;item-3 使用了 order:1; 属性,同时使用了 flex:1 1 auto; 属性表示在空间比其他伸缩项目多时会被自适应扩展,但不会被反弹缩小;item-4 使用了 flex:1 0 100px; 属性,表示在空间充足时会均分空间,但会占据 100px 的基础空间大小。

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

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试