从左往右 从上到下依次排序 flex css_「小程序JAVA实战」小程序的flex布局(22)...

5f0e2a5a54edbadae915b8d736eaf470.png
之前已经把小程序的框架说完了,接下来说说小程序的组件,在说组件之前,先说说布局吧。源码:https://github.com/limingios/wxProgram.git 中的No.9

7c4c79cc01c0e277209d025cfc5189b3.png

小程序的flex布局

  • 小程序建议使用flex布局进行排版
    >其实div+css的方式也可以,只是官方建议使用flex布局的方式
  • flex 就是一个盒装弹性布局
  • flex是一个容器,所有的子元素都是它的成员。
整个是一个大盒子,大盒子里面有很多的小块a,b,c,d,e,f都是他的成员,针对其中的成员可以增加对应的样式,可以看出来a,b,d是比较大的,c是最小的,我们可以通过样式控制它们的大小,我们也可以通过order的方式控制他们的位置顺序,一般正常的咱们的页面都有顺序的,可以通过布局的order属性,把顺序给展示出来。
  • 定义布局display:flex
  • flex 容器的属性
    flex-direction:排列方向
    flex-wrap:换行规则
    justify-content:对齐方式

flex-direction

容器内的方向,方向可以从上到下,从左到右。
  • row[flex-direction 默认布局方式]从左到右
  • row-reverse从右到左
  • column从上到下
  • column-reverse从下到上
  • 演示
    flex-direction.wxml
<!--flex-direction.wxml-->
<view class="container-row">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:20rpx;'>
</view>

<view class="container-row-reverse">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:20rpx;'>
</view>

<view class="container-column">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>


<view style='width:100%;height:20rpx;'>
</view>

<view class="container-column-reverse">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

flex-direction.wxss

.container-row{
  display: flex;
  flex-direction: row;
}

.container-row-reverse{
  display: flex;
  flex-direction: row-reverse;
}

.container-column{
  display: flex;
  flex-direction: column;
}

.container-column-reverse{
  display: flex;
  flex-direction: column-reverse;
}

.size{
  width: 200rpx;
  height: 150rpx;
}
.a {
  background: red;
}
.b {
  background: yellow;
}

.c {
  background: blue;
}

.d {
  background: green;
}

.e {
  background: gold;
}

4b9102e5988edd6a027c539c11c20173.png

flex-wrap

容器换行的属性,分别是不换行,换行,逆向换行
  • nowrap[flex-nowwrap 默认不换行]不换行
  • wrap换行
  • wrap-reverse逆向换行
  • 演示
    container-wrap.wxml
<!--container-wrap.wxml-->
<view class="container-nowrap">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-wrap">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-wrap-reverse">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

flex-wrap.wxss

.container-nowrap{
  display: flex;
  flex-wrap: nowrap;
}
.container-wrap{
    display: flex;
  flex-wrap: wrap;
}

.container-wrap-reverse{
    display: flex;
  flex-wrap: wrap-reverse;
}


.size{
  width: 200rpx;
  height: 150rpx;
}
.a {
  background: red;
}
.b {
  background: yellow;
}

.c {
  background: blue;
}

.d {
  background: green;
}

.e {
  background: gold;
}

d16fdc6dba6f66e2ab1317d1da082004.png

flex-wrap

靠那个方向对齐的一个属性
  • flex-start[flex-start 默认左对齐]左对齐
  • flex-end向右对齐
  • center【使用最多的方式】居中对齐
  • space-around在成员元素周围包裹空格
  • space-between在成员元素之前留空白
  • 演示
    justify-content.wxml
<!justify-content.wxml-->
<view class="container-flex-start">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-flex-end">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-center">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-space-around">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

<view class="container-space-between">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

justify-content.wxss

.container-flex-start{
  display: flex;
  justify-content: flex-start;
}
.container-flex-end{
  display: flex;
  justify-content: flex-end;
}

.container-center{
  display: flex;
  justify-content: flex-center;
}

.container-space-around{
  display: flex;
  justify-content: space-around;
}


.container-space-between{
  display: flex;
  justify-content: space-between;
}

.size{
  width: 50rpx;
  height: 150rpx;
}
.a {
  background: red;
}
.b {
  background: yellow;
}

.c {
  background: blue;
}

.d {
  background: green;
}

.e {
  background: gold;
}

553c82d1327c59b8dd7da7db81c44d81.png

flex成员元素的样式设置

顺序和比例分配
  • order通过数字对flex容器内部的成员设置显示的顺序
  • flex设置每个成员所占行级的显示比例
  • 演示
    order-flex.wxml
<!--order-flex.wxml-->
<view class="container">
  <view class='size a'>a</view>
  <view class='size b'>b</view>
  <view class='size c'>c</view>
  <view class='size d'>d</view>
  <view class='size e'>e</view>
</view>

<view style='width:100%;height:100rpx;'>
欢迎访问我的个人网站:idig8.com
公众号:编程坑太多
</view>

order-flex.wxss

.container{
  display: flex;
  justify-content: flex-start;
}

.size{
  height: 150rpx;
}
.a {
  background: red;
  order:5;
  flex:4;
}
.b {
  background: yellow;
  order:1;
  flex:1;
}

.c {
  background: blue;
  order:3;
  flex:2;
}

.d {
  background: green;
  order:32;
  flex:3;
}

.e {
  background: gold;
  order:4;
  flex:2;
}

69d9082479420d30efdf0df2696d36fc.png

PS:flex布局基本说完了,基本也给各种场景下的属性含义直观的方式进行了演示,但是老铁虽然我搞完了,但是你们如果想学小程序还是勤加练习的,好脑子不如烂笔头对吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值