微信小程序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 相关文章推荐
简明json介绍
Sep 28 Javascript
在html页面中包含共享页面的方法
Oct 24 Javascript
google地图的路线实现代码
Aug 20 Javascript
JavaScript DOM 学习第五章 表单简介
Feb 19 Javascript
JQuery 返回布尔值Is()条件判断方法代码
May 14 Javascript
JS打开新窗口防止被浏览器阻止的方法
Jan 03 Javascript
使用javascript实现判断当前浏览器
Apr 14 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
Bootstrap Navbar Component实现响应式导航
Oct 08 Javascript
React中jquery引用的实现方法
Sep 12 jQuery
vue之将echart封装为组件
Jun 02 Javascript
详解用js代码触发dom事件的实现方案
Jun 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下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
jQuery select控制插件
2009/08/17 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
基于python实现聊天室程序
2018/07/27 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
代码实例讲解python3的编码问题
2019/07/08 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
python文件排序的方法总结
2020/09/13 Python
Python的信号库Blinker用法详解
2020/12/31 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
电气技术员岗位职责
2013/11/19 职场文书
个人自我评价分享
2013/12/20 职场文书
高三毕业寄语
2014/04/10 职场文书
万能检讨书
2015/01/27 职场文书
团代会开幕词
2015/01/28 职场文书
考勤制度通知
2015/04/25 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
SQL Server实现分页方法介绍
2022/03/16 SQL Server