微信小程序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 相关文章推荐
用js遍历 table的脚本
Jul 23 Javascript
node.js适合游戏后台开发吗?
Sep 03 Javascript
理解javascript回调函数
Dec 28 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
node koa2 ssr项目搭建的方法步骤
Dec 11 Javascript
JavaScript实现队列结构过程
Dec 06 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
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
简化版手机端照片预览组件
2015/04/13 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
python清除指定目录内所有文件中script的方法
2015/06/30 Python
python使用super()出现错误解决办法
2017/08/14 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
解决pyshp UnicodeDecodeError的问题
2019/12/06 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
事业单位辞职信范文
2014/01/19 职场文书
五一劳动节慰问信
2015/02/14 职场文书
总账会计岗位职责
2015/04/02 职场文书
党小组评议意见
2015/06/02 职场文书
小学作文之描写天气
2019/08/15 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python