Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端面试题归类-css的flex相关

前端面试题归类-css的flex相关

原创
作者头像
肥晨
发布于 2023-02-16 02:08:55
发布于 2023-02-16 02:08:55
7550
举报
文章被收录于专栏:CSSCSS农民工前端

Flex布局

常见父项的属性:

●flex-direction :设置主轴的方向

Row 默认值从左到右

row-reverse 从右到左

column 从上到下

column-reverse 从下到上

●justify-content :设置主轴上的子元素排列方式

flex-start 默认值从头部开始 如果主轴是x轴,则从左到右

flex-end 从尾部开始排列(但元素的顺序还是从左到右)

center 在主轴居中对齐(如果主轴是x轴则水平居中)

space- around 平分剩余空间

space – between 先两边贴边再平分剩余空间(重要)

●flex-wrap :设置子元素是否换行

默认情况下,项目都排在一条线(又称”轴线”) 上。flex-wrap属性定义 , flex布局中默认是不换行的。

nowrap 默认值,不换行

wrap 换行

●align-content :设置侧轴上的子元素的排列方式(多行)

设置子项在侧轴.上的排列方式并且只能用于子项出现换行的情况(多行) , 在单行下是没有效果的。

flex-start 默认值在侧轴的头部开始排列

flex- end 在侧轴的尾部开始排列

center 在侧轴中间显示

space-around 子项在侧轴平分剩余空间

space- between 子项在侧轴先分布在两头,再平分剩余空间

stretch 设置子项元素高度平分父元素高度

●align-items :设置侧轴上的子元素排列方式(单行)

该属性是控制子项在侧轴(默认是y轴).上的排列方式在子项为单项(单行)的时候使用

flex-start 从上到下

flex- end 从下到上

center 挤在一起居中(垂直居中)

stretch 拉伸(默认值但是子盒子如果给高度就不会生效)

●flex-flow :复合属性,相当于同时设置了flex-direction和flex-wrap

flex-dicection: column; flex-wrap: wrap; 它俩的简写可以写成: flex-flow: column wrap;

常见子项的属性:

●flex子项目占的份数

flex属性定义子项目分配剩余空间,用flex来表示占多少份数。

●align-self控制子项自己在侧轴的排列方式

align-self属性允许单个项目有与其他项目不-样的对齐方式,可覆盖align-items属性。

默认值为auto ,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

span:nth-child(2){ /*设置自己在侧轴的排列方式*/ align-self:flex-end; }

●order属性定义子项的排列顺序(前后顺序)

数值越小,排列越靠前,默认为0。(这个是左右的形式)

注意:和z-index不-样。(index是叠罗汉的形式)

flex属性flex:1到底是什么?

flex属性 是 flex-grow、flex-shrink、flex-basis三个属性的缩写。

推荐使用此简写属性,而不是单独写这三个属性。

flex-grow:定义项目的的放大比例;

默认为0,即使存在剩余空间,也不会放大;

所有项目的flex-grow为1:等分剩余空间(自动放大占位);

flex-grow为n的项目,占据的空间(放大的比例)是flex-grow为1的n倍。

flex-shrink:定义项目的缩小比例;

默认为1,即 如果空间不足,该项目将缩小;

所有项目的flex-shrink为1:当空间不足时,缩小的比例相同;

flex-shrink为0:空间不足时,该项目不会缩小;

flex-shrink为n的项目,空间不足时缩小的比例是flex-shrink为1的n倍。

flex-basis: 定义在分配多余空间之前,项目占据的主轴空间(main size),浏览器根据此属性计算主轴是否有多余空间,

默认值为auto,即 项目原本大小;

设置后项目将占据固定空间。

所以flex属性的默认值为:0 1 auto (不放大会缩小)

flex为none:0 0 auto (不放大也不缩小)

flex为auto:1 1 auto (放大且缩小)

flex为一个非负数字n:该数字为flex-grow的值,

flex:n ;= flex-grow:n; flex-shrink:1; flex-basis:0%;

flex为两个非负数字n1n2: 分别为flex-grow和flex-shrink的值,

flex:n1 n2;= flex-grow:n1; flex-shrink:n2; flex-basis:0%;

flex为一个长度或百分比L:视为flex-basis的值,

flex:L;= flex-grow:1; flex-shrink:1; flex-basis:L;

flex为一个非负数字n和一个长度或百分比L:分别为flex-grow和flex-basis的值,

flex:n L;= flex-grow:n; flex-shrink:1; flex-basis:L;

可以发现,flex-grow和flex-shrink在flex属性中不规定值则为1,flex-basis为0%。

flex:1即为flex-grow:1,经常用作自适应布局,将父容器的display:flex,侧边栏大小固定后,将内容区flex:1,内容区则会自动放大占满剩余空间。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
css的flex布局
flex-grow 项目的放大比例,默认为0,即如果存在剩余空间,也不放大
友儿
2022/09/13
5840
css3 flex弹性布局详解
2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
忆愿
2024/07/30
2320
css3 flex弹性布局详解
CSS-flex 布局
原文链接:https://note.noxussj.top/?source=cloudtencent 为什么要使用 flex 布局? flex 布局是目前比较流行的一种布局,因为它十分简单灵活,区区简
菜园前端
2023/04/16
4260
CSS3 Flex 布局
2009 年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局
chuchur
2022/10/25
6300
CSS3 Flex 布局
前端面试题归类-css
网页看着不方便,想要文档可以私聊我。要是有错别字和错误的地方,请各位大佬直接指出,谢谢啦!!
肥晨
2023/02/16
1.7K0
CSS3中Flex布局(弹性布局)
Flex是Flexible Box的缩写,就是灵活的弹性页面布局。 作用是为盒子模型提供强大的灵活性功能;
Javanx
2019/09/04
6550
CSS3中Flex布局(弹性布局)
Flex布局
Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
超然
2018/08/03
1.6K0
第103天:CSS3中Flex布局(伸缩布局)详解
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
半指温柔乐
2018/09/11
7480
第103天:CSS3中Flex布局(伸缩布局)详解
Flex 布局相关用法
布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中 就不容易实现。
书童小二
2018/09/03
1.5K0
Flex 布局相关用法
详解CSS的Flex布局
Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式。通过Flex布局,可以很优雅地解决很多CSS布局的问题。下面会分别介绍容器的6个属性和项目的6个属性。每个属性会附上效果图,具体实现代码会以github路径形式更新于此。
前端林子
2018/12/09
2.5K1
详解CSS的Flex布局
CSS(六)
这一篇,我们将来介绍高级布局方式 - Flexbox 布局。 传统布局解决方案是基于盒模型,依赖 display 属性 + position 属性 + float 属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
1ess
2021/10/29
1.1K0
CSS(六)
【CSS】Flex布局
所有的浏览器目前都支持了Flex布局,除“Webkit ”内核的浏览器需要加如下前缀:
全栈开发日记
2022/05/12
9900
【CSS】Flex布局
弹性盒子(display: flex)布局超全讲解|Flex 布局教程
弹性布局(Flex布局)是一种现代的CSS布局方式,通过使用display: flex属性来创建一个弹性容器,并在其中使用灵活的盒子模型来进行元素的排列和定位。
肥晨
2023/06/27
16.7K0
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
弹性布局flex
弹性布局: 是css3新增的布局方式 不同于流式布局 弹性布局也叫Flex布局 采用 Flex 布局的元素 称为 Flex 容器(flex container) 简称容器 (通俗来讲就是父标签) 它的所有子元素自动成为容器成员 称为 Flex 项目(flex item) 简称项目 (通说来讲就是子标签)
FGGIT
2024/10/15
1770
Flex 布局教程:语法篇
网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂
ruanyf
2018/04/13
8300
Flex 布局教程:语法篇
CSS的Flex弹性布局概念
Flex是Flexible Box的缩写,顾名思义为“弹性布局”,用来为盒装模型提供最大的灵活性。
JQ实验室
2022/02/11
3740
【愚公系列】2022年04月 微信小程序-Flex布局详解
盒子模型:我们知道当并列书写多个div标签,它们会纵向向下排位,如果我们想将多个div并列成一排,就得借助position,float,或display属性,这便是传统的盒模型做法。
愚公搬代码
2022/04/07
1.4K0
【愚公系列】2022年04月 微信小程序-Flex布局详解
Flex布局教程
网页布局(layout)是 CSS 的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
訾博ZiBo
2025/01/06
980
Flex布局教程
CSS弹性布局(Flex) 详解
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
田小檬
2023/08/24
1.4K0
相关推荐
css的flex布局
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档