CSS 使用 flex 布局

小夏 科技 更新 2024-02-01

弹性布局可能是当今开发中最常用的布局,它是一种设置的一维布局display: flex | inline-flex,您可以将元素视为一个容器,容器中的每个项目都称为 Flex 子项。 对于 flex,有纺锤十字轴主轴是一条水平线,交轴垂直于主轴,因此是垂直的。 主轴可以通过的位置flex-direction属性设置。

flex的性质可以分为两类,一是它作用于整体器皿另一种类型作用于容器每个孩子目标。 作用于容器的主要属性包括:

flex-direction 控制容器的布局方向,从左到右、从右到左或从上到下

row:默认值,按正常文档流方向从左到右排列元素row-reverse:跟row在相反的方向column:在列中显示元素,类似于块column-reverse:方向与列相反,flex-wrap 控制子元素是显示在单行还是新行中。 取值范围:

no-wrap:默认值,无换行符wrap:环绕显示wrap-reverse:从下到上包裹和排列元素 flex-flowflex-directionflex-wrap缩写,例如:flex-flow: row wrap

justify-content 控制元素在水平方向上的对齐和排列,主要值为:

flex-start:按照正常的文档流,它似乎是左对齐的flex-end:按照正常文档流对齐,如右对齐所示center:中心对齐,在通常的显影中最常用space-between:两端对齐,左右两侧无间隙space-around:与末端对齐类似,但左右两侧有空间,空间为中间自由部分的一半space-evenly:align-items 控制元素在垂直方向上的对齐和排列

stretch:孩子高度紧张flex-start:按照正常的文档流程与顶部对齐flex-end:按照正常的文档流对齐,作为底部对齐center:居中对准,常用于垂直对中baseline:所有子元素都相对于基线(即字母)对齐xalign-content 属性的下边缘相同align-items区别在于多条线,它控制每行中子项的垂直对齐和排列方式。 主要值如下:

stretch:默认,每行以相等的比例拉伸flex-start:多个元素顶部对齐flex-end:多个元素底部对齐center:整体垂直居中space-between:上下行两端对齐,中间元素一分为二space-around:每行元素的上方和下方都有独立的空间,不会重叠space-evenly:应用于每行元素中 flex 子项的属性在上下平均分配:

order 属性主要用于更改子元素安排位置,该值为整数,默认值为 0,顺序从小到大排序。 例如,-1 的阶数高于 1 的阶数。

order: 0order: -1
flex-grow 属性用于指定每个子项是否扩展剩余空间,该值可以是小数点或整数,默认值为 0,这意味着即使有剩余空间也不会扩展。

flex-grow: 1
flex-shrink 指定当剩余空间不足时子项是否收缩。 它的值是一个数值,默认是 1,表示缩小,如果设置 0,则会显示子项的宽度,不会缩小。

flex-shrink: 0
flex-basis 定义每个子元素的初始大小,默认值为auto,这意味着如果有设定的宽度,则根据设置进行设置,如果没有,则根据元素实际占用的空间进行显示。

flex 是一个属性flex-growflex-shrinkflex-basis通常建议使用缩写属性,这允许浏览器自动计算其他值,而不是显式指定每个 flex 属性。 下面列出了 flex 的几个值"应用"部分。

align-self 单独控制子项的垂直对齐方式,其值与align-items相同,只是一个用于所有项目,一个用于单个项目。

align-self: auto | flex-start | flex-end | center | baseline | stretch
有了 flex,一切都是正确的flex此属性的几个值是熟悉的。 以下是 flex 的几个常见值:

flex: initial:相当于flex: 0 1 auto是 flex 属性的缺省值。 这意味着有剩余空间并且不会扩展元素,但是当没有足够的空间时,元素会收缩,至于元素大小,它会适应它实际占用的内容的宽度。 适用于两列自适应布局,一侧宽度固定,另一侧自动内容flex: 0:相当于flex: 0 1 0%,表现为元素不会展开,而是在空间不足时收缩,大小为最小内容宽度,效果是文本垂直排列成一列,挤在一起。 flex: none:相当于flex: 0 0 auto,表现为元素既不收缩也不展开,元素大小为最大内容宽度。 此设置的效果是,无论容器的宽度如何,元素都会显示,并且会一直显示到最后而不换行,因此容器可能会溢出。 比较适合一些失去灵活性的场景,比如一个列表,左边是文字**,右边是按钮,我们希望这个按钮里的文字不要换行,左边没有积压,可以设置按钮flex: noneflex: 1:相当于flex: 1 1 0%,这意味着元素可以展开或收缩,元素的大小是最小内容宽度,即当宽度不足时,文本将以换行方式显示。 这适用于:划分布局flex: auto:相当于flex: 1 1 auto,这意味着该元素可以扩展或收缩,当内容空间不足时,该元素会向外扩展并占据更多的空间,即抢占其他子元素的空间。 其应用场景:Web 导航栏,因为导航栏经常与多个子项一起使用,但每个子项中的文本量并不固定flex:auto您可以根据内容自动分配宽度。

相似文章

    Mega Matrix 开启 FlexTV 短剧市场新篇章

    随着科技的飞速发展和互联网的普及,短剧市场逐渐兴起,成为全球娱乐产业的新焦点。近日,这个市场再次掀起波澜,知名上市公司MEGA Matrix宣布成功收购 流 平台公司FlexTV,进军短剧市场。这不仅标志着MEGA Matrix战略布局的进一步扩大,也预示着短剧市场将迎来更加激烈的竞争。据天眼查数据...

    CSS语言的功能和语法

    CSS的全称是Cascading Style Sheets,中文翻译为Cascading Style Sheets。它是一种用于描述网页元素的外观和格式的语言。CSS 是网页设计不可或缺的一部分,它帮助我们创建美观 专业的网页。CSS 于 年首次提出。当时,网页设计主要依赖于 HTML,这是一种主要...

    有趣的CSS函数

    传统的 CSS 属性通常接受固定值,因此当需要使用动态值时,开发人员必须使用各种替代方案。此外,在某些情况下,无法使用单个固定值表示单个 CSS 属性的多个值,例如使用 RGB 值定义颜色。今天,我将分享几个CSS函数,您可以使用它们来设计未来主义,高质量和引人注目的网页。使您成为编写最新 CSS ...

    如何在 HTML 和 CSS 中使用 div 标签

    div 是类似块的标签,可用于放置各种模块,例如表格。说白了,它主要用于网页布局,当然网页的每一条内容都可以用到它身上,而且它使用的方法不是固定的,这个要灵活运用。Div 用法 div 是一个块级元素,这意味着它的内容会自动占据一行。可以使用 div 的 class 或 id 获取其他样式实体,但不...

    如何在 HTML 和 CSS 中使用 div 标签

    什么是div标签?HTML 拆分标记 简称 div 是一种特殊元素,可用于将网页上的类似内容集组合在一起。您可以将其用作关联类似内容的通用容器。标签是最常用的 div 标签之一,尽管引入了语义元素,允许您使用多个标签作为容器,但它似乎并没有出现在任何地方。在本教程中,我将向您展示您可以使用带有标签的...