微信小程序开发 -Flex 布局,flutter 二维码识别

Flex 布局的特点:
任意方向的伸缩,向左,向右,向下,向上
在样式层可以调换和重排顺序
主轴和侧轴方便配置
子元素的空间拉伸和填充
沿着容器对齐
微信小程序实现了Flex
布局,简单介绍下Flex
布局在微信小程序中的使用。
伸缩容器
设有display:flex
或者display:block
的元素就是一个flex container
(伸缩容器),里面的子元素称为flex item
(伸缩项目),flex container
中子元素都是使用Flex
布局排版。
display:block
?指定为块内容器模式,总是使用新行开始显示,微信小程序的视图容器(view,scroll-view 和 swiper)默认都是dispaly:block
。display:flex
:指定为行内容器模式,在一行内显示子元素,可以使用flex-wrap
属性指定其是否换行,flex-wrap
有三个值:nowrap(不换行),wrap(换行),wrap-reverse(换行第一行在下面)使用display:block
(默认值)的代码:
<view class="flex-row" style="display: block;"><view class="flex-view-item">1</view><view class="flex-view-item">2</view><view class="flex-view-item">3</view></view>
显示效果:

改换成display:flex
的显示效果:

可以从效果图看到block
和flex
的区别,子元素view
是在换行显示(block
)还是行内显示(flex
)。
主轴和侧轴
Flex
布局的伸缩容器可以使用任何方向进行布局。容器默认有两个轴:主轴(main axis)和侧轴(cross axis)。主轴的开始位置为主轴起点
(main start),主轴的结束位置为主轴终点
(main end),而主轴的长度为主轴长度
(main size)。同理侧轴的起点为侧轴起点
(cross start),结束位置为侧轴终点
(cross end),长度为侧轴长度
(cross size)。详情见下图:

注意,主轴
并不是一定是从左到右
的,同理侧轴
也不一定是从上到下
,主轴的方向使用flex-direction
属性控制,它有 4 个可选值:
row
?:从左到右的水平方向为主轴row-reverse
:从右到左的水平方向为主轴column
:从上到下的垂直方向为主轴column-reverse
从下到上的垂直方向为主轴
如果水平方向为主轴,那个垂直方向就是侧轴,反之亦然。四种主轴方向设置的效果图:

图中的实例展示了使用了不同的flex-direction
值排列方向的区别。实例代码:
<view ><view class="flex-row" style="display: flex;flex-direction: row;"><view class="flex-view
-item">1</view><view class="flex-view-item">2</view><view class="flex-view-item">3</view></view><view class="flex-column" style="display:flex;flex-direction: column;" ><view class="flex-view-item">c1</view><view class="flex-view-item">c2</view><view class="flex-view-item">c3</view>
评论