微信小程序开发-布局flex
微信小程序开发-布局 flex
flex布局
微信小程序 View 支持两种布局方式:Block 和 Flex
所有 View 默认都是 block。要使用 flex 布局的话需要显式的声明。
1 | <view class="main"> |
1) 未设置 flex,竖向布局
1
2
3
2) flex 布局,在样式中加入 display: flex;
123
flex-direction
横向布局
flex-direction: row:从左到右的水平方向为主轴
1 | 123 |
flex-direction: row-reverse:从右到左的水平方向为主轴
1 | 321 |
justify-content
横向的布局属性
lex-start:主轴起点对齐(默认值)
1 | 123 |
flex-end:主轴结束点对齐
1 | 123 |
center:在主轴中居中对齐
1 | 123 |
space-between:两端对齐,除了两端的子元素分别靠向两端的容器之外,其他子元素之间的间隔都相等
1 | 1 2 3 |
space-around:每个子元素之间的距离相等,两端的子元素距离容器的距离也和其它子元素之间的距离相同
1 | 1 2 3 |
纵向布局
flex-direction: column:从上到下的垂直方向为主轴flex-direction: column-reverse:从下到上的垂直方向为主轴
align-items
纵向布局属性:
stretch填充整个容器(默认值)flex-start侧轴的起点对齐 (这里我们手动设置下子 view 的高度,来看的明显一些)flex-end侧轴的终点对齐center在侧轴中居中对齐baseline以子元素的第一行文字对齐
align-self
子 View 的属性 align-self,可以覆盖父元素的 align-items 属性,它有 6 个值可选:auto | flex-start | flex-end | center | baseline | stretch ( auto 为继承父元素 align-items 属性,其他和 align-items 一致)
flex-wrap
用于控制子 View 是否换行
nowrap:不换行(默认)wrap:换行wrap-reverse:换行,第一行在最下面
order
控制子元素的排列顺序,默认为0。
把 item3 设置 order:-1; 可以把 item3 排在前面
1 | 312 |
flex-grow
.wxss中修改代码如下:在 item1 中增加: flex-grow: 1,在 item3 中增加: flex-grow: 2``,表示在一行中如果有剩余空间的话,item3 之外的子 view 占 1 份空间,而 item3 子 view 占 2 份空间(可以理解为剩余空间 item3 最多可以占 2 份空间)。
flex-shrink
.wxss中再增加 4 个子 view 并修改代码如下:i3 的flex-shrink: 0,其余子 view 为 flex-shrink: 1,这表示当空间不足时所有子 view 都等比缩小,但是 i3 的 view 保持大小不变.
flex-basis
注意
flex 是 grow ,shrink ,basis 几个属性的合并
1 | { |
flex-flow 是 flex-direction 和 flex-wrap 两个属性的组合
1 | { |
本文标题:微信小程序开发-布局flex
文章作者:xwnb
发布时间:2019-10-04
最后更新:2023-04-17
原始链接:https://xwnb.github.io/posts/208261819/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!并保留本声明。感谢您的阅读和支持!
分享