flex-direction:row, justify-content:space-around
flex-direction:column,justify-content:space-around
还有很多属性就不一一截图了,可以直接打开文末的网址体验下。
特别说明下
=====
其实很多人迷惑的是justify-content
和align-items
的关系,很多人误认为align-items
是设置垂直方向的布局,这么理解其实是有问题的。
这里要搞清楚一个概念,主轴和交叉轴。
-
justify-content
用来设置主轴方向的布局或对齐方式 -
align-items
用来设置交叉轴方向的布局或对齐方式
主轴可以通过flex-direction
来进行设置,取值为row
和column
。
当为row
时,justify-content
控制水平方向的布局,align-items
控制垂直方向的布局。
当为column
时,justify-content
控制垂直方向的布局,align-items
控制水平方向的布局。
截图演示下
flex-direction:row,justify-content:space-around,align-items:center
flex-direction:column,justify-content:space-around,align-items:center
本工具的实现方式
========
实现很简单,使用react开发,只遵循一个原则即可 UI=fn(state)
,所以只要定义好你的state
就完成了一半儿。
细节就不说了,贴下主要用到的state
const ChildEleDefaultStyle = [
{ text: ‘order’, type: ‘number’, jsxKey: ‘order’ },
{ text: ‘flex-grow’, type: ‘number’, jsxKey: ‘flexGrow’ },
{ text: ‘flex-shrink’, type: ‘number’, jsxKey: ‘flexShrink’ },
{ text: ‘flex-basis’, type: ‘string’, jsxKey: ‘flexBasis’ },
{ text: ‘align-self’, type: ‘list’, jsxKey: ‘alignSelf’, values: [‘auto’, ‘flex-start’, ‘flex-end’, ‘center’, ‘base-line’] },
]
const initState = {
parentEleStyle: {
flexDirection: ‘row’,
justifyContent: ‘center’,
alignItems: ‘center’,
flexWrap: ‘wrap’,
},
parentFlexData: [
{
id: 1,
propertiyName: ‘flex-direction’,
propertiyObjName: ‘flexDirection’,
values: [
{ name: ‘row’, checked: 2, },
{ name: ‘row-reverse’, checked: 1 },
{ name: ‘column’, checked: 1 },
{ name: ‘column-reverse’, checked: 1 },
]
},
{
id: 2,
propertiyName: ‘flex-wrap’,
propertiyObjName: ‘flexWrap’,
values: [
{ name: ‘nowrap’, checked: 1 },
{ name: ‘wrap’, checked: 2 },
{ name: ‘wrap-reverse’, checked: 1 },
]
},
{
id: 3,
propertiyName: ‘justify-content’,
propertiyObjName: ‘justifyContent’,
values: [
{ name: ‘flex-start’, checked: 1 },
{ name: ‘flex-end’, checked: 1 },
{ name: ‘center’, checked: 2 },
{ name: ‘space-between’, checked: 1 },
{ name: ‘space-around’, checked: 1 },
]
},
{
id: 4,
propertiyName: ‘align-items’,
propertiyObjName: ‘alignItems’,
values: [
{ name: ‘flex-start’, checked: 1 },
{ name: ‘flex-end’, checked: 1 },
{ name: ‘center’, checked: 2 },
{ name: ‘space-between’, checked: 1 },
{ name: ‘space-around’, checked: 1 },
]
},
{
id: 5,
propertiyName: ‘align-content’,
propertiyObjName: ‘alignContent’,
values: [
{ name: ‘stretch’, checked: 2 },
{ name: ‘flex-start’, checked: 1 },
{ name: ‘flex-end’, checked: 1 },
{ name: ‘center’, checked: 1 },
{ name: ‘space-between’, checked: 1 },
{ name: ‘space-around’, checked: 1 },
]
}
],
resultItems: [
{
id: 1, elementStyle: {
order: 0,
flexGrow: 0,
flexShrink: 1,
flexBasis: ‘auto’,
alignSelf: ‘auto’
}
},
{
id: 2, elementStyle: {
order: 0,
flexGrow: 0,
flexShrink: 1,
flexBasis: ‘auto’,
alignSelf: ‘auto’
}
},
{
id: 3, elementStyle: {
order: 0,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
文末
篇幅有限没有列举更多的前端面试题,小编把整理的前端大厂面试题PDF分享出来,一共有269页
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
频】]( )**
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算