easy-flex


建议打开浏览器开发者工具(F12)查看demo的代码!

使用class名:flex-h、flex-v、top、right、bottom、left、center,互相组合可以开发绝大多数的布局。


基础教程

父元素(class名)

横向排列 > flex-h
垂直排列 > flex-v
子元素在行或列内居中 > center
子元素在行或列内向上靠 > top
子元素在行或列内向右靠 > right
子元素在行或列内向下靠 > bottom
子元素在行或列内向左靠 > left
*注:主方向上同时设置了相反的方向则散开排列

子元素(class名)

在排列的方向上撑开 > flex-fill
*注:兄弟元素flex-fill之间1:1撑开


进阶教程

父元素(class名)

父元素表现为行内元素 > inline
子元素一行排满则换行 > wrap
子元素在交叉轴上拉伸 > stretch
多行(列)的情况下,行(列)之间在交叉轴散开 > between

子元素(未声明的情况下为class名)

在wrap下强制换行 > hr(标签)
指定子元素单独设置交叉轴布局方向 > self-[top/right/bottom/left]


Demo

横向

横向,垂直方向默认居中 flex-h
1
2
横向,靠右 flex-h right
1
2
居中 flex-h center
1
2
横向,靠上(top)或下(bottom) flex-h top
1
2
3
横向,左右散开(相反方向同时设置即可散开排列) flex-h left right
1
2
3
横向,特定子元素撑开,兄弟元素间保持1:1的宽度,子元素添加 flex-fill
1
2 > flex-fill
3 > flex-fill
4
横向,某个元素垂直布局方向不同,子元素添加self-[top/center/bottom] flex-h top
1
2 > self-bottom
flex-fill
3 > self-center
flex-fill
4
横向,行内元素 flex-h inline
1
2
1
2

垂直

垂直,水平方向默认居中 flex-v
1
2
垂直,靠下 flex-v bottom
1
2
居中 flex-v center
1
2
垂直,上下散开(相反方向同时设置即可散开排列) flex-v top bottom
1
2
3
垂直,特定子元素撑开,兄弟元素间保持1:1的高度 flex-fill
1
2
flex-fill
3
flex-fill
4
垂直,所有子元素拉伸 flex-v stretch
1
2

横向多行(进阶)

横向多行,默认垂直居中,可快速开发多行布局的样式,使用hr标签换行 flex-h wrap
1
2

3
4
横向多行,设置相反方向让每行左右散开 flex-h wrap left right
1
2

3
4
横向多行,设置top或bottom可以设置单行内的子元素布局方向 flex-h wrap top
1
2

3
4
横向多行,设置between让每行之间散开 flex-h wrap between
1
2

3
4

垂直多列(进阶)

垂直多列,默认垂直居中,可快速开发多行布局的样式,使用hr标签换行 flex-h wrap
1
2

3
4
垂直多列,设置相反方向让每列上下散开 flex-h wrap top bottom
1
2

3
4
垂直多列,设置left或right可以设置单列内的子元素布局方向 flex-h wrap left
1
2

3
4
垂直多列,设置between让每列之间散开 flex-h wrap between
1
2

3
4
基础教程
父元素 子元素
进阶教程
父元素 子元素
Demo
横向 垂直 横向多行 垂直多列