美文网首页
微信小程序布局[flex]

微信小程序布局[flex]

作者: iOS_July | 来源:发表于2018-03-03 15:32 被阅读249次

微信小程序页面布局采用flex布局。flex布局是W3C在2009年提出的一种新的方案,以简便、完整、响应式的实现各种页面布局。

flex布局提供了元素在容器中的对齐方向顺序甚至动态的或大小不确定的。

一、flexbox模型

  1. display属性
    flexbox 由伸缩容器伸缩项目组成。将元素的display属性设置为flexinline-flex,可以得到一个 伸缩容器
    设置为flex的容器被渲染成一个块级元素,而设置为inline-flex的容器则被渲染成一个行内元素

  2. flex-direction属性
    flex-direction属性和旧版本的box-orient属性相似,都是设置伸缩项目的排列方式,设置从上往下排列如下所示:

div { flex-direction: column ;}

flex-direction 选项含义表:

属性值 说明
row 设置从左到右排列
row-reverse 设置从右到左排列
column 设置从上到下排列
column-reverse 设置从下到上排列
  1. flex-wrap属性
    flex-wrap属性与旧版本的box-lines相似。设置无法容纳时,自动换行如下所示:
div { -ms-flex-wrap: -wrap; }

flex-wrap 属性取值表:

属性值 说明
nowrap 默认值,都在一行或一列显示
wrap 伸缩项目无法容纳时,自动换行
wrap-reverse 伸缩项目无法容纳时,自动换行,方向和wrap相反
  1. flex-flow属性

flex-flow属性是集合了排列方向控制换行的简写形式
justify-content属性和旧版本中的box-pack相似,设置伸缩项目的对齐方式。

div { justify-content: space-around; }

flex-flow属性其他取值表:

属性值 说明
flex-start 伸缩项目以起始点靠齐
flex-end 伸缩项目以结束点靠齐
Center 伸缩项目以中心点靠齐
space-between 伸缩项目平局分布
space-around 同上,但两端保留一半的空间
  1. align-items属性
    align-items属性和旧版本的box-align相似,用于处理伸缩容器额外空间
div { align-items: center; }
  1. flex属性
    flex属性和旧版的box-flex相似,用于控制伸缩容器比例分配
 flex: 1;

二、实例

.wxml
<view class='flex-wrap'>
  <view class='a'>1</view>
  <view class='b'>2</view>
  <view class='c'>3</view>
</view>
.wxss
page{
  height:100%;
}
/* 这个page很关键 */
.flex-wrap{
  display: -webkit-flex;
}
.flex-wrap view{
  width: 200rpx;
  height: 200rpx;
  text-align: center;
  line-height: 200rpx;
  font-size: 40rpx;
  color: white;
}
.a{
  background-color: green;
}
.b{
  background-color: blue;
}
.c{
  background-color: purple;
}
flex-wrap-1.png

调整[flex比例调整]:

page{
  height:100%;
}
/* 这个page很关键 */
.flex-wrap{
  display: -webkit-flex;
}
.flex-wrap view{
  /* width: 200rpx; */
  height: 200rpx;
  text-align: center;
  line-height: 200rpx;
  font-size: 40rpx;
  color: white;
}
.a{
  background-color: green;
  flex: 1;
  /*占据整个盒子的1/4*/
}
.b{
  background-color: blue;
  flex: 1;
  /*占据整个盒子的1/4*/
}
.c{
  background-color: purple;
  flex: 2;
  /*占据整个盒子的2/4*/
}
flex-wrap-2.png

设置flex-direction: column;

page{
  height:100%;
}
/* 这个page很关键 */
.flex-wrap{
  display: -webkit-flex;
  flex-direction: column;
  height: 800rpx;
}
.flex-wrap view{
  /* width: 200rpx; */
  /* height: 200rpx; */
  text-align: center;
  line-height: 200rpx;
  font-size: 40rpx;
  color: white;
}
.a{
  background-color: green;
  flex: 1;
  /*占据整个盒子的1/4*/
}
.b{
  background-color: blue;
  flex: 1;
  /*占据整个盒子的1/4*/
}
.c{
  background-color: purple;
  flex: 2;
  /*占据整个盒子的2/4*/
}
flex-column.png

三、补充

ps:关于flexbox还有很多的属性,这里大致铺垫了一下,如需要,则请查看微信小程序开发文档

相关文章

  • Flex布局图文详解

    《微信小程序开发--Flex布局》

  • 小程序的Flex弹性布局

    参考:微信小程序页面布局微信小程序开发详解(九)---微信小程序布局基础 1.Flex布局的特点 1.任意方向的伸...

  • 【2021-10-23】微信小程序flex布局

    微信小程序flex布局flex是一种很方便的布局方式,主要调用方式:

  • 微信小程序开发之flex布局笔记

    微信小程序开发推荐使用flex布局。本人在平时的小程序开发中,都是优先使用flex布局。对于一个搞不懂css的后端...

  • flex 布局

    用flex 布局做微信小程序的页面,请多多指教html

  • 小程序Flex布局

    小程序的开发布局里,用最多的应该是Flex布局了,微信官方也推荐优先使用Flex布局,因为Flex实在是简便和灵活...

  • flex布局总结

    --- flex 及 使用场景 App 的 百分比布局,使用flex弹性布局来排布 微信小程序的布局就使用f...

  • 小程序flex布局与水平居中

    1.flex布局 (1) 微信小程序的默认布局为 "display:block"——即为 "块" 布局,一个元素占...

  • 小程序基本布局

    小程序布局 微信小程序的页面开发和Web一样通过CSS对内容进行渲染,不同的是微信小程序利用Flex(弹性盒子)对...

  • 微信小程序样式

    微信小程序view支持两种布局方式:Block和Flex。所有view默认都是block。 一、Flex容器 采用...

网友评论

      本文标题:微信小程序布局[flex]

      本文链接:https://www.haomeiwen.com/subject/caytfftx.html