CSS 如何使灵活的项目无论其内容如何都有相同的长度
让我们试着了解一下flex属性。Flex是一个简明的属性,它为柔性元素的长度设定了条件,即是否允许它根据其内容的多少或视口的宽度来调整自己。
Flex属性
Flex属性的组成属性规定如下
Flex-grow
该属性设置了在flex-container中剩余的所有空间中分配给该项目的空间。换句话说,它设置了项目的主要尺寸是否会被允许超越增长。这个属性的值是一个整数。
- 空白空间的数量等于柔性容器的大小减去所有柔性元素的大小之和。如果所有的兄弟项目都有相同的flex增长因子,那么它们将获得相同的剩余空间量;否则,它将根据各种flex增长因子设定的比例进行分配
-
此属性的初始值为0。它适用于flexbox中的所有项目,也包括伪元素。它在本质上是不可继承的,并且有一个数字作为其动画类型。
Flex-shrink
正如flex-grow属性允许flexbox增长一样,该属性允许flexitems在内容无法容纳到指定空间的情况下收缩。
- 该属性的初始值为1,而不是0。它也会被应用于flexbox中的所有项目,也包括伪元素。就像flex-grow一样,这个属性在本质上也是不可继承的,并且有一个数字作为其动画类型。
Flex-base
该属性用于指定容器最初的主要尺寸是什么。除非与box-sizing另有规定,否则它决定了内容框的大小。
- 它可以有两个可能的值。第一个是 “content”,它将根据内容的数量而改变,第二个值是一个宽度值,它将是一个绝对值或一个百分比。你也可以使用auto关键字作为宽度。
使用flex属性
正如已经讨论过的,flex是一个速记属性。这就是为什么我们可以通过指定一个、两个或全部三个值来使用flex属性。
- 当你只指定一个属性值时,它可以是flex-grow / flex-basis的有效值,也可以是一个全局关键字值。
-
当使用两个值时,第一个值将被作为flex-grow的值,之后的值将是flex-shrink或flex-basis的值。
-
当使用三个值时,第一个值将用于flex-grow,第二个值将作为flex-shrink的值,最后一个值将用于flex-basis。
例子
下面是一个在CSS中使用flex属性的例子。
例子
这个例子使用了CSS中的flex grow属性
对相同长度的项目使用flex属性
正如我们看到的,我们可以使用flex属性来控制灵活元素的大小。因此,如果我们必须使所有的柔性项目具有相同的长度,我们将利用这个属性。
例子
下面的例子使用CSS中的flex属性来创建相同长度的flexbox项。
结论
总之,CSS通过使用一些属性,如 “width”、”max-width “和 “flex”,使灵活的项目无论其内容如何都是一样的长度。这种灵活性在设计响应式网站时非常有用,因为这些网站需要根据浏览设备的不同来调整尺寸。通过使用这些属性,设计师可以创造出无论在什么设备上浏览都很好看的布局。