前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CSS-flex 布局

CSS-flex 布局

原创
作者头像
菜园前端
发布于 2023-04-16 14:41:34
发布于 2023-04-16 14:41:34
4200
举报
文章被收录于专栏:前端学习文档前端学习文档

原文链接https://note.noxussj.top/?source=cloudtencent

为什么要使用 flex 布局?

flex 布局是目前比较流行的一种布局,因为它十分简单灵活,区区简单几行代码就可以实现各种页面的的布局,以前我在学习页面布局的时候我深受其 float、display、position 这些属性的困扰。使用 flex 属性就可以写出简洁优雅复杂的页面布局。先大概看一下我下面写的内容,然后再去看看阮一峰老师写的 Flex 布局教程

提示

容器:采用 flex 布局的元素,称为容器。 项目:指的是容器里面的子元素。

容器的 6 个属性

flex-direction

属性决定主轴的方向(即项目的排列方向)。

flex-direction: row (默认)主轴为水平方向,起点在左端。

flex-direction: row-reverse 主轴为水平方向,起点在右端。

flex-direction: column 主轴为垂直方向,起点在上沿。

flex-direction: column-reverse 主轴为垂直方向,起点在下沿。

flex-wrap

主轴的换行方式。

flex-wrap: nowrap (默认)当项目总宽度超出容器的宽度时,不进行换行并且对项目的宽度进行统一压缩。

flex-wrap: wrap 换行,第一行在上方。

flex-wrap: wrap-reverse 换行,第一行在下方。

flex-flow

flex-flowflex-directionflex-wrap 的简写形式。

flex-flow: row nowrap (默认)

justify-content

项目在主轴上的对齐方式。

justify-content: flex-start (默认)左对齐。

justify-content: flex-end 右对齐。

justify-content: center 居中。

justify-content: space-between 两端对齐,项目之间的间距都相等。

justify-content: space-around 也属于两端对齐,项目之间的间距都相等,但是容器的两侧有一个间距,刚好是项目之间间距的一半。

align-items

项目在交叉轴上的对齐方式。

align-items: stretch (默认),项目铺满整个交叉轴高度。

align-items: flex-start 顶部对齐,也就是与交叉轴的起点对齐。

align-items: flex-end 底部对齐,也就是与交叉轴的终点对齐。

align-items: center 垂直居中对齐,也就是交叉轴的中心点对齐。

align-items: baseline 项目的第一行文字的基线对齐。

align-content

align-items 一般是指单根轴线的对齐方式,也就是只有一行内容。而 align-content 则是多根轴线的对齐方式。

注意

如果项目只有一根轴线,该属性不会起任何作用。

align-content: stretch (默认),每一行项目的高度都会平分交叉轴的高度。

align-content: flex-start 顶部对齐,也就是与交叉轴的起点对齐。

align-content: flex-end 底部对齐,也就是与交叉轴的终点对齐。

align-content: center 垂直居中对齐,也就是交叉轴的中心点对齐。

align-content: space-between 两端对齐,项目之间的间距都相等。

align-content: space-around 也属于两端对齐,项目之间的间距都相等,但是容器的两侧有一个间距,刚好是项目之间间距的一半。

项目的 6 个属性

order#

项目的排列顺序,数值越小越靠前,默认为 0。

分别给三个项目设置 order: 3 order: 2 order: 1

flex-grow

项目的放大比例。默认为 0(代表即使存在剩余空间也不放大)。如果所有项目的 flex-grow 属性都为 1,则它们会等比分配剩余空间。

分别给三个项目设置 flex-grow: 1 flex-grow: 1 flex-grow: 1

分别给三个项目设置 flex-grow: 1 flex-grow: 2 flex-grow: 1 ,假设一个项目的 flex-grow 属性为 2,其他都为 1,则前者占据的剩余空间将会比其他项目多一倍。

flex-shrink

项目的缩小比例,默认为 1(代表如果空间不足,该项目将缩小)。

分别给三个项目设置 flex-shrink: 1 flex-shrink: 0 flex-shrink: 1 。假设一个项目的 flex-shrink 属性为 0,其他项目都为 1,则空间不足时,前者不缩小。

flex-basis#

在分配多余空间之前,提前计算项目占据的主轴空间。默认为 auto(代表项目本身的大小)。

分别给三个项目设置 flex-basis: 350px flex-grow: 1 flex-grow: 1 。假设一个项目的 flex-basis 属性为 350px,其他都为 auto,则前者占据固定空间,不进行分配剩余空间。效果其实和给它设置 width: 350pxheight: 350px 效果一致。

flex

flex 属性是 flex-grow, flex-shrinkflex-basis 的简写

flex-flow: 0 1 auto (默认)

align-self

align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖容器的 align-items 属性,默认值为 auto,表示继承父级元素的 align-items 属性,如果没有父级元素,则等同 stretch

给三个项目设置 align-self: flex-start align-self: flex-end align-self: flex-start

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Flex布局
Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
超然
2018/08/03
1.6K0
CSS3 Flex 布局
2009 年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局
chuchur
2022/10/25
6240
CSS3 Flex 布局
CSS的Flex弹性布局概念
Flex是Flexible Box的缩写,顾名思义为“弹性布局”,用来为盒装模型提供最大的灵活性。
JQ实验室
2022/02/11
3700
详解CSS的Flex布局
Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式。通过Flex布局,可以很优雅地解决很多CSS布局的问题。下面会分别介绍容器的6个属性和项目的6个属性。每个属性会附上效果图,具体实现代码会以github路径形式更新于此。
前端林子
2018/12/09
2.5K1
详解CSS的Flex布局
Flex布局
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指定为Flex布局。 .box{ display:flex; display:inline-flex; } Webkit内核的浏览器,必须加上-webkit前缀 .box{ display:-webkit-flex; display: flex; } 解决兼容性问题 .box{ display:-webkit-flex;/*Chrome,Safari,Opera*/ display:-
pitaojin
2018/05/25
1.6K0
CSS3中Flex布局(弹性布局)
Flex是Flexible Box的缩写,就是灵活的弹性页面布局。 作用是为盒子模型提供强大的灵活性功能;
Javanx
2019/09/04
6520
CSS3中Flex布局(弹性布局)
flex布局——回顾
flex 即为弹性布局。   任何一个容器都可以指定为flex布局。     .box{display:flex}   行内元素可以使用flex布局     .box{display: inline-flex}   webkit内核的浏览器必须加上-webkit 前缀。     .box{display:-webkit-flex; display:flex;}   注意:元素设置flex布局以后,子元素得float ,clear 和 vertical-align 属性将失效。   基本概念:     采用f
用户1197315
2018/01/22
6990
Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂
ruanyf
2018/04/13
8280
Flex 布局教程:语法篇
看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)
传统的页面布局,基于盒子模型margin + border + padding + content,依赖 display + position + float。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
javascript艺术
2021/05/28
9.3K0
看完这篇,对flex布局还不熟悉,那就来找我(flex布局最全详解)
48张小图带你领略Flex 布局之美
前言 最近在项目中,遇到布局问题,有时候,需要堆叠很多的样式,去排版,一定程度上增加了代码量,那么有没有更加方便的布局方式呢?? 48张图带你从0到1掌握flex布局方式。 flex布局在某种程度上,
前端劝退师
2020/09/21
1.5K0
48张小图带你领略Flex 布局之美
CSS 中的 Flex 布局 完全指南
Flex 弹性盒子布局是很强大的布局,它可以很方便的控制元素在垂直和水平方向上的行为。
羽月
2022/10/08
1.7K0
CSS 中的 Flex 布局 完全指南
弹性布局flex
弹性布局: 是css3新增的布局方式 不同于流式布局 弹性布局也叫Flex布局 采用 Flex 布局的元素 称为 Flex 容器(flex container) 简称容器 (通俗来讲就是父标签) 它的所有子元素自动成为容器成员 称为 Flex 项目(flex item) 简称项目 (通说来讲就是子标签)
FGGIT
2024/10/15
1710
总结一下CSS3中的Flex布局语法
Flex 布局有时候会用到,但是始终分不清楚其中的部分属性及其含义,所以用这篇博客专门总结一下 Flex 布局。
知识分子没文化
2023/07/01
4510
总结一下CSS3中的Flex布局语法
CSS3中Flex弹性布局该如何灵活运用?
Flex(Flexible Box),意为”弹性布局”。“弹性”,顾名思义,就是具有弹簧的特性啦,能够自由的伸缩(有点自适应的意思啦)。
Javanx
2019/09/04
6980
CSS3中Flex弹性布局该如何灵活运用?
css3 flex弹性布局详解
2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
忆愿
2024/07/30
2230
css3 flex弹性布局详解
【愚公系列】2022年04月 微信小程序-Flex布局详解
盒子模型:我们知道当并列书写多个div标签,它们会纵向向下排位,如果我们想将多个div并列成一排,就得借助position,float,或display属性,这便是传统的盒模型做法。
愚公搬代码
2022/04/07
1.3K0
【愚公系列】2022年04月 微信小程序-Flex布局详解
FLEX布局
FLEX布局也称弹性布局,可以为盒状模型提供最大的灵活性,是布局的首选方案,现已得到所有现代浏览器的支持。
WindRunnerMax
2020/08/27
1.4K0
flex布局 原
Flex是Flexible Box的缩写,意为弹性布局,用来为盒状模型提供最大的灵活性。在处理垂直方向的对齐比较方便,现在越来越多的浏览器已经支持flex布局,最近出的轻应用也都是flex布局,对于前端来说,学习flex布局还是非常必要的。
tianyawhl
2019/04/04
6920
flex布局
                                                                            原
CSS弹性布局(Flex) 详解
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
田小檬
2023/08/24
1.3K0
Flex布局教程
网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
訾博ZiBo
2025/01/06
920
Flex布局教程
相关推荐
Flex布局
更多 >
LV.0
这个人很懒,什么都没有留下~
作者相关精选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档