微信小程序Flex布局用法深入浅出分析


Posted in Javascript onApril 25, 2019

本文实例讲述了微信小程序Flex布局用法。分享给大家供大家参考,具体如下:

Flex布局: Flexible Box的缩写,意为“弹性布局”,为盒模型提供巨大的灵活性

使用说明:

1. 任何容器都可以使用flex布局

.box {
  display: flex;
}

2.行内元素可以使用flex布局

.box{
  display: inline-flex;
}

3.webkit内核的浏览器,要加上-webkit前缀

.box {
  display: -webkit-flex; /* Safari */
  display: flex;
}

外层flex容器的属性:

1.flex-direction属性

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}

row(默认值):主轴为水平方向,起点在左端。
row-reverse:主轴为水平方向,起点在右端。
column:主轴为垂直方向,起点在上沿。
column-reverse:主轴为垂直方向,起点在下沿。

2.flex-wrap属性

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

nowrap (默认值) :不换行。
wrap:换行,第一行在上方。
wrap-reverse:换行,第一行在下方。

3. flex-flow属性:是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}

4. justify-content属性:定义item在主轴上的对其方式

.box {
  justify-content: flex-start | flex-end | center | space-between | space-around;
}

flex-start(默认值):左对齐
flex-end:右对齐
center: 居中
space-between:两端对齐,项目之间的间隔都相等。
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5. align-items属性:定义项目在交叉轴上如何对其

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

6. align-content属性:定义多跟轴线的对其方式,如果只有一根轴线则不起作用

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

flex-start:与交叉轴的起点对齐。
flex-end:与交叉轴的终点对齐。
center:与交叉轴的中点对齐。
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴。

项目item的属性

1. order属性:定义项目的排列顺序,数值越小越靠前,默认值为0,负数在0前面

.item {
  order: <integer>;
}

2. flex-grow属性:定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大

.item {
  flex-grow: <number>; /* default 0 */
}

3. flex-shrink属性:定义项目缩小比例,默认是1,即如果空间不足,该item将缩小

.item {
  flex-shrink: <number>; /* default 1 */
}

4. flex-basis属性:在分配多余空间之前,item占据的主轴空间(main size),默认值auto,即item本身大小

.item {
  flex-basis: <length> | auto; /* default auto */
}

5. flex属性:是flex-grow,flex-shrink,flex-basis的简写,默认值为0 1 auto,后面两个属性可选

.item {
  flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

6. align-self属性:允许单个item与其他item有不一样的对其方式,可覆盖align-items属性

.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
May 16 Javascript
JavaScript中ES6 Babel正确安装过程
Jul 18 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
Aug 05 Javascript
树结构之JavaScript
Jan 24 Javascript
ionic 3.0+ 项目搭建运行环境的教程
Aug 09 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
Angularjs按需查询实例代码
Oct 30 Javascript
vue-cli项目中使用Mockjs详解
May 14 Javascript
小程序实现列表删除功能
Oct 30 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 #Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
Apr 25 #Javascript
微信小程序整合使用富文本编辑器的方法详解
Apr 25 #Javascript
微信小程序实现的五星评价功能示例
Apr 25 #Javascript
微信小程序实现单列下拉菜单效果
Apr 25 #Javascript
Vue组件通信的几种实现方法
Apr 25 #Javascript
深入解析vue 源码目录及构建过程分析
Apr 24 #Javascript
You might like
通过php修改xml文档内容的方法
2015/01/23 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
详解React 条件渲染
2020/07/08 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
JSON Web Tokens的实现原理
2017/04/02 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
django rest framework使用django-filter用法
2020/07/15 Python
python复合条件下的字典排序
2020/12/18 Python
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
实现向右循环移位
2014/07/31 面试题
2014最新房贷收入证明范本
2014/09/12 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
就业意向书范本
2015/05/11 职场文书
社区低保工作总结2015
2015/07/23 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
配置nginx负载均衡
2022/05/06 Servers