微信小程序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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
Firefox下提示illegal character并出现乱码的原因
Mar 25 Javascript
深入分析下javascript中的[]()+!
Jul 07 Javascript
跟我学习javascript的循环
Nov 18 Javascript
跟我学习javascript的this关键字
May 28 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 Javascript
详解如何使用koa实现socket.io官网的例子
Nov 04 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
Dec 30 Javascript
js实现左右轮播图
Jan 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中防止恶意刷新页面的代码小结
2012/10/31 PHP
linux下php上传文件注意事项
2016/06/11 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
学习python (1)
2006/10/31 Python
在Linux下调试Python代码的各种方法
2015/04/17 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
django session完成状态保持的方法
2018/11/27 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
印度服装购物网站:Limeroad
2018/09/26 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
经销商培训邀请函
2014/01/21 职场文书
气象学专业个人求职信
2014/04/22 职场文书
入股协议书范本
2014/11/01 职场文书
介绍信怎么写
2015/05/05 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
在Python 中将类对象序列化为JSON
2022/04/06 Python