微信小程序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 相关文章推荐
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
使用node.js半年来总结的 10 条经验
Aug 18 Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 Javascript
详解javascript数组去重问题
Nov 06 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
用js实现博客打赏功能
Oct 24 Javascript
webpack学习教程之前端性能优化总结
Dec 05 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
vue中各选项及钩子函数执行顺序详解
Aug 25 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
基于node.js实现爬虫的讲解
Feb 18 Javascript
Layui 动态禁止select下拉的例子
Sep 03 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PDO::commit讲解
2019/01/27 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python之Socket网络编程详解
2016/09/29 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
Python通过文本和图片生成词云图
2020/05/21 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
次世代生活态度:Hypebeast
2018/07/05 全球购物
西式婚礼证婚词
2014/01/12 职场文书
团组织关系介绍信
2014/01/12 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
霸王洗发水广告词
2014/03/14 职场文书
士力架广告词
2014/03/20 职场文书
全国优秀辅导员事迹材料
2014/05/14 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
社区务虚会发言材料
2014/10/20 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
材料采购员岗位职责
2015/04/03 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书