微信小程序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 相关文章推荐
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
微信分享的标题、缩略图、连接及描述设置方法
Oct 14 Javascript
基于jQuery实现的菜单切换效果
Oct 16 Javascript
全面解析Bootstrap表单使用方法(表单控件)
Nov 24 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
微信小程序 wx.uploadFile无法上传解决办法
Dec 14 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
Dec 31 Javascript
详解ES6中的三种异步解决方案
Jun 28 Javascript
js module大战
Apr 19 Javascript
vue路由传参三种基本方式详解
Dec 09 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的可变变量名需要的注意的问题
2013/06/20 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
Python中的日期时间处理详解
2016/11/17 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
pytorch 预训练层的使用方法
2019/08/20 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
基于python实现删除指定文件类型
2020/07/21 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
python中二分查找法的实现方法
2020/12/06 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
一套Delphi的笔试题一
2016/02/14 面试题
《兰亭集序》教学反思
2014/02/11 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
婚礼答谢礼品
2015/01/20 职场文书
遗失说明具结保证书
2015/02/26 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
员工工作心得体会
2019/05/07 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript