转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-22/

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

小程序的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;
}

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;
}

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;
}

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;
}

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

「小程序JAVA实战」小程序的flex布局(22)的更多相关文章

  1. 「小程序JAVA实战」小程序的留言和评价功能(70)

    转自:https://idig8.com/2018/10/28/xiaochengxujavashizhanxiaochengxudeliuyanhepingjiagongneng69/ 目前小程序这 ...

  2. 「小程序JAVA实战」小程序的举报功能开发(68)

    转自:https://idig8.com/2018/09/25/xiaochengxujavashizhanxiaochengxudeweixinapicaidancaozuo66-2/ 通过点击举报 ...

  3. 「小程序JAVA实战」小程序的个人信息作品,收藏,关注(66)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudegerenxinxizuopinshoucangguanzhu65 ...

  4. 「小程序JAVA实战」小程序的关注功能(65)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeguanzhugongneng64/ 在个人页面,根据发布者个人和 ...

  5. 「小程序JAVA实战」小程序的视频点赞功能开发(62)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeshipindianzangongnengkaifa61/ 视频点 ...

  6. 「小程序JAVA实战」小程序的springboot后台拦截器(61)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudespringboothoutailanjieqi60/ 之前咱们把 ...

  7. 「小程序JAVA实战」小程序首页视频(49)

    转自:https://idig8.com/2018/09/21/xiaochengxujavashizhanxiaochengxushouyeshipin48/ 视频显示的内容是视频的截图,用户的头像 ...

  8. 「小程序JAVA实战」小程序视频封面处理(48)

    转自:https://idig8.com/2018/09/16/xiaochengxujavashizhanxiaochengxushipinfengmianchuli47/ 截图这块,在微信小程序工 ...

  9. 「小程序JAVA实战」小程序上传短视频(46)

    转自:https://idig8.com/2018/09/14/xiaochengxujavashizhanxiaochengxushangchuanduanshipin45/ 个人信息:用户上传短视 ...

随机推荐

  1. Android学习笔记之Android Studio下创建menu布局文件

    1.创建menu文件夹 Android Studio项目中如果没有menu文件夹,在res文件夹右键,new-Android resource directory: 则会弹出下图对话框,在Resour ...

  2. 每天一个linux命令:【转载】touch命令

    linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a    ...

  3. NSURLSession学习笔记(三)Download Task

    NSURLSession的Download Task用于完成下载任务,本文介绍如何创建断点续传的下载任务和后台下载任务. 我们直接从分析Demo入手: 故事板如下: 只有一个View Controll ...

  4. Hadoop常见错误问题及解决方法总结二

    问题导读:1.遇到问题该如何排除错误?2.看不到namenode的可能原因是什么?3.地址占用该如何解决?4.could only be replicatied to 0 nodes, instead ...

  5. maven-assembly-plugin 打包简单案例

    简单项目 1. maven  netty  lomback    包含项目依赖 <dependencies> <dependency> <groupId>io.ne ...

  6. session 与 cookie 区别

    一.Session的概念 Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标 ...

  7. Unit02: JSON 、 使用JSON实现数据交换 、 jQuery对AJAX的支持,编码问题

    Unit02: JSON . 使用JSON实现数据交换 . jQuery对AJAX的支持 1. 编码问题 (1)发送get请求 为什么会产生乱码? ie浏览器提供的ajax对象,对中文会使用gbk来编 ...

  8. ubuntu 进入单用户模式

    进入单用户模式:  按shift进入 1.开机到grub时,用上下键移到第二行的恢复模式,按e(注意不是回车) 即Ubuntu,With Linux 3.2.0-23-generic(recovery ...

  9. 阿里云SLB快速切换至https

    域名caifuxiang.com是直接解析到阿里云SLB的,运行了好几年的http服务,今天通过修改配置快速切换到了https,莫名就感觉更上档次了! 首先,SSL证书 服务可以提供免费单域名证书 w ...

  10. NKOJ1236 a^b

    题目描述 对于任意两个正整数a,b(0<=a,b<10000)计算a^b各位数字的和的各位数字的和的各位数字的和的各位数字的和. Input 输入有多组数据,每组只有一行,包含两个正整数a ...