微信小程序_(组件)flex布局
? ? 小程序建议使用flex布局进行排版 flex是一个盒装弹性布局 flex是一个容器,所有子元素都是他的成员
定义布局:display:flex ? flex容器的属性: 一、flex-direction:排列方向 二、flex-wrap:换行规则 三、justify-content:对齐方式 四、order:成员之间的显示顺序 五、flex:成员所占屏幕的比例 ? 一、flex-direction:排列方向 【默认】row:从左到右行排序 row-reverse:从右到左行排序 colomn:从上到下列排序 colomn-reverse:从下到上列排序 index.html中定义五个<view>分别加上a、b、c、d、e五个文本标签,微信小程序中默认flex-direction:row ? <!--index.wxml--> Cynical丶Gary <view class="container"> <view class=‘a size‘>a</view> <view class=‘b size‘>b</view> <view class=‘c size‘>c</view> <view class=‘d size‘>d</view> <view class=‘e size‘>e</view> </view> ? .container{
display: flex;
/* 默认从左到右排序 */
/* flex-direction: row; */
/* 从右到左排序 */
/* flex-direction: row-reverse; */
/* 从上到下排序 */
/* flex-direction: column; */
/* 从下到上排序 */
/* flex-direction: column-reverse; */
}
.size{
width: 150rpx;
height: 150rpx;
}
.a{
background: red;
}
.b{
background: yellow;
}
.c{
background: blue;
}
.d{
background: green;
}
.e{
background: orange;
}
? ? 二、flex-wrap:换行规则 【默认】nowrap:不换行 wrap:换行
wrap-reverse:逆向换行
当五个元素size超出微信小程序横向排版时(320),微信小程序默认使用flex-wrap: nowrap不换行 ? <!--index.wxml--> Cynical丶Gary <view class="container"> <view class=‘a size‘>a</view> <view class=‘b size‘>b</view> <view class=‘c size‘>c</view> <view class=‘d size‘>d</view> <view class=‘e size‘>e</view> </view> ? .container{
display: flex;
/* 默认不换行 */
/* flex-wrap: nowrap; */
/* 换行 */
/* flex-wrap: wrap; */
/* 逆向换行 */
/* flex-wrap: wrap-reverse; */
}
.size{
width: 500rpx;
height: 150rpx;
}
.a{
background: red;
}
.b{
background: yellow;
}
.c{
background: blue;
}
.d{
background: green;
}
.e{
background: orange;
}
? ? 三、justify-content:对齐方式 【默认】flex-start:从左到右,向左对齐 flex-end:从右到左,向右对齐 center:居中对齐 space-between:块级元素中间有空格 space-around:让空格围绕在成员周围 当五个元素并列排序size未超出微信小程序横向布局 ? <!--index.wxml--> Cynical丶Gary <view class="container"> <view class=‘a size‘>a</view> <view class=‘b size‘>b</view> <view class=‘c size‘>c</view> <view class=‘d size‘>d</view> <view class=‘e size‘>e</view> </view> ? .container{ display: flex; /* flex-start:默认左对齐 */ /* justify-content: flex-start; */ /* flex-end:向右对齐 */ /* justify-content: flex-end; */ /* center:居中对齐 */ /* justify-content: center; */ /* space-between:块级元素中间有空格 */ /* justify-content: space-between; */ /* space-around:让空格围绕在成员周围 */ /* justify-content:space-around; */ } .size{ width: 100rpx; height: 150rpx; } .a{ background: red; } .b{ background: yellow; } .c{ background: blue; } .d{ background: green; } .e{ background: orange; } ? ? 四、order:成员之间的显示顺序 五个元素并列排序由order属性决定,本来d和e中order属性分别是4和5,现将order属性改为5和4,可见d和e块级元素位置进行了交换 ? <!--index.wxml--> Cynical丶Gary <view class="container"> <view class=‘a size‘>a</view> <view class=‘b size‘>b</view> <view class=‘c size‘>c</view> <view class=‘d size‘>d</view> <view class=‘e size‘>e</view> </view> ? .container{ display: flex; } .size{ width: 100rpx; height: 150rpx; } .a{ background: red; order:1; } .b{ background: yellow; order:2; } .c{ background: blue; order:3; } .d{ background: green; order:4; } .e{ background: orange; order:5; } ? ? 五、flex:成员所占屏幕的比例 当给五个块级元素a、b、c、d、e设置order为1时候,每个元素所占当行比例的1/5,当将a的order设置为3时,a元素占当行比例的3/(3+1+1+1+1),依次类推 ? <!--index.wxml--> Cynical丶Gary <view class="container"> <view class=‘a size‘>a</view> <view class=‘b size‘>b</view> <view class=‘c size‘>c</view> <view class=‘d size‘>d</view> <view class=‘e size‘>e</view> </view> ? .container{ display: flex; } .size{ width: 100rpx; height: 150rpx; } .a{ background: red; order:1; flex:10; } .b{ background: yellow; order:2; flex:2; } .c{ background: blue; order:3; flex:1; } .d{ background: green; order:4; flex:1; } .e{ background: orange; order:5; flex:1; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |