面试如何回答弹性盒子布局这个问题呢?

news2024/11/27 4:40:01

在我们面试中如果被问道css方面的面试题 那么极有可能被问到的一道面试题就是弹性盒子,本篇文章通过一张图带你拿捏这道面试题。

1、首先需要说一说弹性盒子的基本概念:弹性盒子是一种用于网页布局中创建灵活和响应式设计的CSS布局模型。

2、其次需要说弹性盒子存在哪两个部分:弹性盒子模型包含两个部分容器和项目,容器是包含弹性项目的父元素,项目则是容器内的子元素。

3、然后需要说弹性盒子的两个轴:弹性盒子存在一个主轴和一个交叉轴。主轴是弹性盒子子元素在容器中排列的方向,交叉轴则是与主轴垂直的方向。

4、具体说一说弹性盒子的属性:这里建议说的越多越好,你是否理解弹性盒子不仅是知道它如何去使用,更重要的是你对它里边属性的使用方面的理解。(我们通过一张图来说明这些属性)

我们可以先说明想要实现一个弹性盒子,我们需要在它的父元素上定义一个display:flex;的css样式,这样我们的盒子现在就是一个弹性盒子。

当然我们的弹性盒子的属性分为父容器属性以及子元素属性(父容器属性定义在父元素中,子容器属性定义在子元素中)。

我们先来说父容器的属性:

flex-direction:控制子项目的排列方向,两个属性row和column。默认是row表示横向排列,如果我们想要逆序横向排列可以使用row-reverse column表示纵向排列,逆序纵向排列可以使用column-reverse

flex-wrap:我们可以说,如果我们在子元素定宽定高的情况下,如果弹性盒子的子元素有很多,那么它们会在一行那样会挤在一起十分难看,我们可以通过flex-wrap:wrap;来实现换行处理,默认为nowrap表示不换行,wrap表示换行处理,wrap-reverse表示逆序换行(正常情况是向下换行,逆序换行表示向上换行)

flex-flow:这个属性我们就可以简单说一说,它是flex-direction以及flex-wrap的一个结合属性,我们可以定义flex-flow来代替flex-direction以及flex-wrap,它的属性也是与前两个的属性相同。默认属性为flex-flow:row nowrap;

justify-content:控制子元素对齐的方式。center表示居中,flex-start表示开始元素对齐,flex-end表示结尾元素对齐。这两个属性我们就可以简单理解为一个靠开头一个靠结尾

align-items:控制子元素垂直对齐方式。初始值为stretch表示填充子元素为整个高度。flex-start表示子元素垂直对齐是靠上对齐,flex-end表示子元素垂直对齐是靠下对齐。center表示居中对齐。

baseline:这个属性我们可以说如果我们设置子元素的某个元素的字体大小,我们在父容器中定义align-items:baseline表示我们按照字体的下边缘对齐。

align-content:表示多行对齐。如果元素只有一行我们设置align-content属性是不起作用的。

如果存在多行我们定义flex-start表示多行向上对齐,flex-end表示多行向下对齐。center表示多行居中,space-between表示多行之间行与行的两边纵向对齐 space-around表示行与行的纵向均匀对齐。

这里我们说完了我们的父容器的属性,下面可以给面试官说一说子元素的一些属性。

order:通常我们子元素的排列顺序是我们定义html元素的一个顺序,默认值每个子元素的order为0

元素排序方式为,order越小越靠前order越大排列顺序越靠后。我们可以结合实际情况说明我们自己定义元素时,如果想让某个元素顺序排列靠前或靠后就可以使用这个属性定义,属性值大元素排列靠后属性值小元素排列靠前。

flex-grow:我们通常定义宽高的子元素换行以后呢 如果它的元素数量不够整行的元素数量那么它的元素并不会铺满这个一行,flex-grow是用将子元素延伸的比率。未定义flex-grow属性的元素它的宽度是不变的,我们定义flex-grow属性的它的宽度会按照我们定义的比率进行延伸。给两个元素定义该属性,那么除了未定义该属性的宽度不变以外,其余的空间通过比率来进行分配定义该属性的空间。

flex-shrink:通常来说我们用不到,因为这时控制子元素的收缩比率,通常我们将浏览器缩小时,如果我们定义该属性,那么该元素会进行收缩。

flex-basis:定义子元素的基本宽度,flex-basis:元素宽度大小;

flex:它是将flex-grow、flex-shrink、flex-basis一起指定,它可以同时定义前三个属性,作用与之前三个属性作用相似。

align-self:单独控制族元素垂直对齐的方式,给某个子元素定义该属性控制某个元素的对齐方式

flex-start纵向头部对齐 center居中对齐 flex-end纵向尾部对齐

这里我们也是将弹性盒子的一些属性说完,当然一些不常用的属性我们也可以不进行过多的阐述。

5、说完属性以后呢我们可以说一说弹性盒子布局的优势:如简化复杂布局、自适应性、适应不同屏幕尺寸等。

6、说一说弹性盒子的兼容性:提到弹性盒子在现代浏览器中的广泛支持,但也指出在旧版浏览器中可能需要提供备用布局。

7、最后向面试官强调你的学习经验,说明你对这一布局的熟练程度以及你如何不断提高自己的技能。

这些要点可以帮助你清晰地回答关于弹性盒子的面试问题。确保根据具体问题和你的经验进行适当的调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/969188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

父组件调用子组件 ref 不生效?组件暴露 ref ?

向你的组件暴露 ref 要暴露 ref 最关键的就是 forwardRef forwardRef 是 React 中的一个高阶函数,用于在函数组件中将 ref 属性向下传递给子组件。 在 React 中,我们可以使用 ref 属性来获取对一个组件实例的引用,以便在父组件中操作子组件。…

IDEA复制一个工程为多个并启动,测试负载均衡

1 找到服务按钮 2 选择复制配置 3 更改新的名称与虚拟机参数 复制下面的代码在VM参数中 -Dserver.port8082 4 最后启动即可

【80天学习完《深入理解计算机系统》】第十二天3.6数组和结构体

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

排序之归并排序

文章目录 前言一、归并排序1、归并排序基本思想2、归并排序代码实现3、归并排序效率分析 二、归并排序非递归实现(循环实现)1、归并排序非递归实现(循环实现)基本思想2、归并排序非递归实现(循环实现)代码 三、计数排序1、计数排序基本思想2、计数排序代码实现3、计数排序效率分…

大数据-玩转数据-Flink状态编程(上)

一、Flink状态编程 有状态的计算是流处理框架要实现的重要功能,因为稍复杂的流处理场景都需要记录状态,然后在新流入数据的基础上不断更新状态。 SparkStreaming在状态管理这块做的不好, 很多时候需要借助于外部存储(例如Redis)来手动管理状态, 增加了编…

顺式元件热图+柱状图

写在前面 本教程来自粉丝投稿,主要做得是顺式元件的预测和热图绘制。类似的教程,在我们基于TBtools做基因家族分析也做过,流程基本一致。我们前期的教程,主要是基于TBtools,本教程主要是基于纯代码,也是值得学习收藏的…

【人工智能】—_线性分类器、感知机、损失函数的选取、最小二乘法分类、模型复杂性和过度拟合、规范化

文章目录 Linear predictions 线性预测分类线性分类器感知机感知机学习策略损失函数的选取距离的计算 最小二乘法分类求解最小二乘分类矩阵解法一般线性分类模型复杂性和过度拟合训练误差测试误差泛化误差复杂度与过拟合规范化 Linear predictions 线性预测 分类 从具有有限离…

2022年03月 C/C++(七级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程(1~8级)全部真题・点这里 第1题:红与黑 有一间长方形的房子, 地上铺了红色、 黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上, 只能向相邻的黑色瓷砖移动。 请写一个程序, 计算你总共能够到…

Aqs的CyclicBarrier。

今天我们来学习AQS家族的“外门弟子”:CyclicBarrier。 为什么说CyclicBarrier是AQS家族的“外门弟子”呢?那是因为CyclicBarrier自身和内部类Generation并没有继承AQS,但在源码的实现中却深度依赖AQS家族的成员ReentrantLock。就像修仙小说…

Java 复习笔记 - 学生管理系统篇

文章目录 学生管理系统一,需求部分需求分析初始菜单学生类添加功能删除功能修改功能查询功能 二,实现部分(一)初始化主界面(二)编写学生类(三)编写添加学生方法(四&#…

ref 操作 React 定时器

秒表 需要将 interval ID 保存在 ref 中&#xff0c;以便在需要时能够清除计时器。 import { useRef, useState } from "react";const SecondWatch () > {const [startTime, setStartTime] useState<any>(null);const [now, setNow] useState<any>…

Elasticsearch中RestClient使用

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

如何将自己的镜像使用 helm 部署

本文分别从如下几个方面来分享一波 如何将自己的镜像使用 helm 部署 简单介绍一下 helm 使用自己写 yaml 文件的方式在 k8s 中部署应用 使用 helm 的方式在 k8s 中部署应用 简单介绍一下 helm Helm 是 Kubernetes 的包管理器&#xff0c;在云原生领域用于应用打包和分发 Hel…

12. 微积分 - 梯度积分

Hi,大家好。我是茶桁。 上一节课,我们讲了方向导数,并且在最后留了个小尾巴,是什么呢?就是梯度。 我们再来回看一下但是的这个式子: [ f x f y

信息系统项目管理师(第四版)教材精读思维导图-第八章项目整合管理

请参阅我的另一篇文章&#xff0c;综合介绍软考高项&#xff1a; 信息系统项目管理师&#xff08;软考高项&#xff09;备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 本章思维导图PDF格式 本章思维导图XMind源文件 目录 8.1 管理基础 8.2 管理过程 8.3 制定项…

LRU算法 vs Redis近似LRU算法

LRU(Least Recently Use)算法&#xff0c;是用来判断一批数据中&#xff0c;最近最少使用算法。它底层数据结构由Hash和链表结合实现&#xff0c;使用Hash是为了保障查询效率为O(1)&#xff0c;使用链表保障删除元素效率为O(1)。 LRU算法是用来判断最近最少使用到元素&#xf…

最短路Dijkstra,spfa,图论二分图算法AYIT---ACM训练(模板版)

文章目录 前言A - Dijkstra Algorithm0x00 算法题目0x01 算法思路0x02 代码实现 B - 最长路0x00 算法题目0x01 算法思路0x02 代码实现 C - 二分图最大匹配0x00 算法题目0x01 算法思路0x02 代码实现 D - 搭配飞行员0x00 算法题目0x01 算法思路0x02 代码实现 E - The Perfect Sta…

企业架构LNMP学习笔记11

Nginx配置文件的介绍&#xff1a; #nginx子进程启动用户 #user nobody; #子进程数量 一般调整为cpu核数或者倍数 worker_processes 1; #错误日志定义 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#进程pid 存储文件…

ISO/IEC/ITU标准如何快速查找(三十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

C++中的语法知识虚继承和虚基类

多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。 多继承时很容易产生命名冲突,即使我们很小心地将所有类…