了解学习CSS中的Flex容器

91 阅读6分钟

Flexbox布局模型通过将元素放置在一个空间分布均匀的容器内,提供了一个高效和动态的排列。这种布局使元素具有响应性,这意味着元素会根据显示它们的设备种类而改变其行为。它由两个组件组成,即柔性容器和柔性项目。然而,在这里我们将只强调柔性容器。讨论的主题是。

  1. 什么是软体容器
  2. 弹性容器的属性

什么是Flex容器?

这是Flexbox的一个组件,通过将其显示方式设置为flex或inline-flex来定义祖先元素的属性。

这里解释了与柔性容器相关的属性。

Flex 容器属性

与柔性容器相关的属性。

  1. flex-direction属性
  2. flex-wrap属性
  3. 柔性流动属性
  4. 合理调整内容属性
  5. 对齐项目属性
  6. align-content属性

这些属性在下面有详细解释。

flex-direction属性

为了设置Flexbox中的元素的方向,使用了flex-direction属性。

语法

flex-direction: row | row-reverse | column | column -reverse | initial | inherit;

参数解释

:这个默认值是水平排列元素的。

row-reverse:这个值将元素放在一行中,但方向相反。

:它垂直地安排项目。

column-reverse:它将元素安排在一列中,但方向相反。

例子

下面的例子演示了flex-direction属性的工作。

HTML

<div class="flexbox">
  <div>Item 1</div>
  <div>Item 2</div>
  <div>Item 3</div>
  <div>Item 4</div>
</div>

在这里,我们将四个div容器嵌套在一个较大的div容器内,并给它分配了一个 "flexbox "类。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  flex-direction: row-reverse;
}

在上面的代码中,我们将较大的DIV显示为一个flex容器,并给它一些颜色,最后它的方向被设置为行逆向。

CSS

.flexbox div  {
  background-color: lightgrey;
  width: 150px;
  margin: 15px;
  padding: 20px;
  font-size: 35px;
}

现在,我们正在使用各种CSS属性对容器内的项目进行造型。

输出


Flex-items被放置在同一行,但顺序相反。

flex-wrap属性

这个属性说明了元素是否应该被包裹在flex line周围。

语法

flex-wrap: nowrap | wrap | wrap-reverse | initial | inherit;

参数解释

nowrap:此默认值不包裹元素。

wrap:如果需要,它将包裹元素。

wrap-reverse:如果需要的话,它会以一种相反的方式包装元素。

例子

以下是该属性如何在flexbox中包装项目。要看到这个属性的效果,你必须调整浏览器窗口的大小。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  flex-wrap: wrap;
}

在上面的代码中,我们已经将flex-wrap属性设置为wrap。这个值将项目包裹在一个容器内。

CSS

.flexbox div  {
  background-color: lightgrey;
  width: 150px;
  margin: 15px;
  padding: 20px;
  font-size: 35px;
}

使用一些基本的CSS,我们已经为我们的flex项目设计了样式。

输出


柔性项目已经被包装好了。

flex-flow属性

它说明了元素的方向,同时指定了是否要包裹元素。这是对flow-direction和flow-wrap的简写属性。

语法

flex-flow: flow-direction flow-wrap | initial | inherit;

参数解释

flow-direction。它定义了元素的方向。

flow-wrap。它规定了元素是否应该被包裹起来。

例子

请看下面的例子来理解这个属性的作用。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  flex-flow: row-reverse wrap;
}

通过使用速记属性,我们将flex项目的方向设置为行逆向,同时使用wrap值将其包裹。

输出


项目已经被反向包装成行了。

justify-content属性

如果Flexbox中的项目没有完全占用水平空间,那么justify-content属性会使它们在主轴上对齐。

语法

justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly | initial | inherit;

参数解释

flex-start:它将元素定位在容器的起始位置,是默认值。

flex-end:它将元素置于容器的末端。

center:它将元素置于容器的中心位置。

space-between:它在项目之间添加空间。

space-around:它在每个项目之前、之间和之后添加空间。

匀速空间:这使每个项目有相等的空间。

例子

假设你想将你的内容调整到柔性容器的末端。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  justify-content: flex-end;
}

flex-end值将把所有的flex项目定位在容器的末端。

输出


该属性工作正常。

align-items属性

该属性可设置容器中元素的垂直排列。

语法

align-items: stretch | center | flex-start | flex-end | baseline | initial | inherit;

参数解释

stretch:它是一个默认值,可以拉伸项目以适应容器。

center:它将元素定位在容器的中心。

flex-start:它将元素定位在容器的起始位置,是默认值。

flex-end:这将元素置于容器的末端。

baseline(基线):它将元素放置在容器的基线上。

例子

这里我们演示的是align-items属性的中心值。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  height: 200px;
  align-items: center;
}

为了正确演示这个属性,我们为flex容器提供一些高度,并将align-items属性设置为居中。

输出


项目已经被垂直地排列在容器的中心。

align-content属性

它改变了flex-wrap属性的行为,与justify content属性非常相似,唯一的区别是它使flex元素垂直对齐。

语法

align-content: flex-start | flex-end | center | space-between | space-around | space-evenly | initial | inherit;

参数解释

flex-start:它将元素定位在容器的起始位置,是默认值。

flex-end:它将元素置于容器的末端。

center:它将元素置于容器的中心位置。

space-between:它在项目之间添加空间。

space-around:它在每个项目之前、之间和之后添加空间。

匀速空间:这使每个项目有相等的空间。

例子

要了解align-content属性如何工作,请看下面的例子。

CSS

.flexbox {
  display: flex;
  background-color: aquamarine;
  height: 300px;
  flex-wrap: wrap;
  align-content: space-around;
}

这里我们进一步增加了容器的高度,以便你能更好地理解这个属性。最后,我们给align-content属性分配了space-around值。

输出


围绕每个项目的垂直空间已成功添加。

总结

Flex容器是flexbox的一个组成部分,它通过将其显示方式设置为flex或inline-flex来定义祖先元素的属性。CSS提供了许多与柔性容器相关的属性,可以用来定义柔性容器的特性。其中一些与柔性容器相关的属性有:柔性方向、对齐内容、对齐项目、柔性流等。这些属性中的每一个都将与相关的例子一起详细解释。