找回密码
 立即注册

QQ登录

只需一步,快速开始

微信小程序设置控件权重

[复制链接]
查看: 85|回复: 0
最佳答案
0 

3

主题

4

帖子

127

积分

新人求带

积分
127
 楼主| 发表于 2017-12-7 11:09:49 | 显示全部楼层 |阅读模式
项目中最常用的两种布局方式,水平布局和垂直布局,在微信小程序中实现起来也比较简单。

1.横向水平布局:
1.png

实现水平布局,需要四个view容器组件,其中一个是父容器。如下:
  1. <!--index.wxml-->  
  2. <view class="content">  
  3.   <view  style="flex:1;height:100px;background-color:green">box1</view>  
  4.   <view style="flex:1;height:100px;background-color:blue">box2</view>  
  5.   <view style="flex:1;height:100px;background-color:yellow">box3</view>  
  6. </view>  
复制代码

给父容器以下样式     
  1. /**index.wxss**/  
  2. .content{  
  3.    display: flex;  
  4.   flex-direction: row;  
  5. }  
复制代码

其中display:flex将view设置为弹性布局,flex-direction: row;设置布局的方向是横向水平布局。

在三个自容器view中,设置一个高度,不设置宽度,将flex设置为1,意思是评分屏幕宽度,以便得到三个同等宽度。当然您也可以设置他的宽度,比如我设置如     下:
  1. <view class="content">  
  2.   <view  style="width:50px;height:100px;background-color:green">box1</view>  
  3.   <view style="width:50px;;height:100px;background-color:blue">box2</view>  
  4.   <view style="width:50px;;height:100px;background-color:yellow">box3</view>  
  5. </view>
复制代码

效果就是每个宽度占50px,同样实现横向水平布局。效果如下:
2.png
     
而当我将box1设置为固定宽度50px,而box2,box3不设置宽

度而直接设置flex:1,代码如下:
  1. <!--index.wxml-->  
  2. <view class="content">  
  3.   <view  style="width:50px;height:100px;background-color:green">box1</view>  
  4.   <view style="flex:1;height:100px;background-color:blue">box2</view>  
  5.   <view style="flex:1;height:100px;background-color:yellow">box3</view>  
  6. </view>
复制代码

效果将会是box1占了他该有的50px的宽度之后,剩下的整个屏幕的宽度由box2和box3平分。效果如下:
3.png
      
2.纵向垂直布局:
4.png

纵向布局实现跟横向布局相似,但是需要把布局方式改为纵向列式的,假如需要将每个box的宽度设置为flex:1等自适应布局的话,需要给父容器一个高度,否则子容器的高度只会显示为刚好能包裹文字的告诉。当然您也可以设置每个box的高度。这里我选择自适应,所以给父容器一个600px的高度,让里面的三个box平分他的高度。代码如下:
  1. /**index.wxss**/  
  2. .content{  
  3.   height: 600px;  
  4.   display: flex;  
  5.   flex-direction: column;  
  6. }
复制代码
  1. <!--index.wxml-->  
  2. <view class="content">  
  3.   <view style="flex:1;width:100%;background-color:green">box1</view>  
  4.   <view style="flex:1;width:100%;background-color:blue">box2</view>  
  5.   <view style="flex:1;width:100%;background-color:yellow">box3</view>  
  6. </view>
复制代码


我们可以使用以上所述的方式实现更多灵活的布局。
5.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



henkuai.com是专业的第三方微信开发者平台,为生态而生。


本站为第三方微信开发者平台,非腾讯官方网站。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

欢迎来这里一起喝喝茶,
聊聊你的产品。

微信公众号gongzhongkaifa

工作日12小时内回复。

广告推广
zhongcong@henkuai.com

工作日12小时内回复。

市场合作
songchang@henkuai.com