<!-- 内容超出自动换行 -->
wxml:
<!-- 内容超出自动换行 -->
<view class='container'>
<view class='content'>热门分类</view>
<view class='content'>手机数码</view>
<view class='content'>电脑办公</view>
<view class='content'>电视影音</view>
<view class='content'>空调</view>
<view class='content1'>厨卫电器</view>
<view class='content'>生活电器</view>
<view class='content'>食品酒水</view>
<view class='content'>美妆个护</view>
<view class='content'>母婴玩具医疗保健</view>
</view>
wxss:
/* 内容超出自动换行 */
.container{
display: flex; /* 指定当前容器使用flex布局*/
flex-direction: row; /*子元素排列方向(row:从左到右排列;row-reverse:从右到左,与row相反;column:从上向下排列;column-reverse:从下向上排列,与column相反) */
flex-wrap: wrap;/*换行规则(nowrap:单行,内容过多溢出容器;wrap:多行,内容过多自动放至新行,子项内部会发生断行;wrap-reverse:反转wrap排列)*/
padding: 20rpx;
align-items: center;/*子元素在交叉轴的对齐规则(stretch:默认值,项目被拉伸以适应容器;center:项目位于容器中心;flex-start:项目位于容器的开头;flex-end:项目位于容器的结尾;baseline:项目位于容器的基线上)*/
justify-content: space-around;/*子元素在子轴的对齐方式(flex-start:默认值:项目位于容器的开头;flex-end:项目位于容器的结尾;center:项目位于容器的中心;space-between:两端对齐,项目之间的间隔都相等;flex-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍)*/
}
/* 不设置宽度则自适应 */
.content{
padding: 30rpx;
background-color: #f1b0e6;
margin-top: 20rpx;
border-radius: 10rpx;
}
/* 设置宽度内容超出自动换行 */
.content1{
padding: 30rpx;
background-color: #f1b0e6;
margin-top: 20rpx;
border-radius: 10rpx;
width: 100rpx;
}
效果图:
<!-- 密集宫格式布局 -->
wxml:
<!-- 密集宫格式布局 -->
<view class='mark'>
<view class='mark1'>面对面红包</view>
<view class='mark1'>手机充值</view>
<view class='mark1'>理财通</view>
<view class='mark1'>Q币充值</view>
<view class='mark1'>生活缴费</view>
<view class='mark1'>城市服务</view>
<view class='mark1'>信用卡还款</view>
<view class='mark1'>腾讯公益</view>
</view>
wxss:
/* 密集宫格布局 */
.mark{
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
border-top: 1rpx solid #eee;/*顶部边框*/
}
.mark1{
width: 33.3%;
padding: 30rpx 10rpx;
box-sizing: border-box;/*指定宽度和高度(最小/最大属性)确定元素边框。也就是说,对元素指定宽度和高度包括了 padding 和 border 。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。*/
border-bottom: 1rpx solid #eee;
border-right: 1rpx solid #eee;
text-align: center;
}
效果图:
<!--列表式 -->
wxml:
<!--列表式 -->
<view class='list'>
<view class='list1'><image class='seen-me-icon' src='https://res.tuoluohuodong.com/seen_me_icon.png'></image></view>
<view class='list2'>
<view class='list3'>
<view>微信支付</view>
<view>5月14日</view>
</view>
<view class='list4'>微信支付凭证</view>
</view>
</view>
<view class='list'>
<view class='list1'><image class='seen-me-icon' src='https://res.tuoluohuodong.com/seen_me_icon.png'></image></view>
<view class='list2'>
<view class='list3'>
<view>腾讯公益</view>
<view>5月14日</view>
</view>
<view class='list4'>新年到了,看泥坑召唤哪位小财神?</view>
</view>
</view>
wxss:
/* 列表式布局 */
.list{
display: flex;
flex-direction: row;
margin-top: 30rpx;
font-size: 0.8rem;
}
.list1{
width: 160rpx;
padding: 10rpx 0;
display: flex;
align-items: center;
justify-content: center;
border-top: 1rpx solid #eee;
border-bottom: 1rpx solid #eee;
}
.seen-me-icon{
width: 80rpx;
height: 80rpx;
}
.list2{
flex-grow: 1;/*定义子元素的扩展比例,默认为0,值为1则等分剩余空间*/
border-top: 1rpx solid #eee;
border-bottom: 1rpx solid #eee;
padding: 10rpx;
}
.list3{
display: flex;
justify-content: space-between;
flex-direction: row;
}
.list4{
margin-top: 10rpx;
}
效果图:
<!--转盘式(可左右滑动)-->
wxml:
<!--转盘式-->
<scroll-view scroll-x="true" class='scroll1'>
<view class='page-column'>
<text>内容1</text>
</view>
<view class='page-column'>
<text>内容2</text>
</view>
<view class='page-column'>
<text>内容3</text>
</view>
<view class='page-column'>
<text>内容4</text>
</view>
<view class='page-column'>
<text>内容5</text>
</view>
<view class='page-column'>
<text>内容7</text>
</view>
<view class='page-column'>
<text>内容8</text>
</view>
<view class='page-column'>
<text>内容9</text>
</view>
<view class='page-column'>
<text>内容10</text>
</view>
</scroll-view>
wxss:
/* 转盘式 */
.scroll1{
width: 100%;
white-space: nowrap;
height: 252rpx;
font-size: 0.8rem;
}
.page-column{
border: 1rpx solid #eee;
padding: 20rpx;
display: inline-block;
}
效果图:
<!-- 多面板(左右布局) -->
wxml:
<!-- 多面板(左右布局) -->
<view class='containers'>
<!-- 左侧菜单start -->
<scroll-view class='leftmenu' scroll-y="true">
<view class='box-container' wx:for="{{list}}" wx:key="list">
<view class="menu-subitem {{index == idx ? 'active' : 'active1' }}" bindtap='goIndex' data-index="{{index}}">{{item.num}}</view>
</view>
</scroll-view>
<!-- 左侧菜单end -->
<!-- 右侧内容start -->
<view class='rightcontent'>
<view hidden='{{idx!=0}}'>手机数码内容</view>
<view hidden='{{idx!=1}}'>电脑办公内容</view>
<view hidden='{{idx!=2}}'>电视影音内容</view>
<view hidden='{{idx!=3}}'>空调水洗内容</view>
<view hidden='{{idx!=4}}'>厨卫电器内容</view>
<view hidden='{{idx!=5}}'>生活电器内容</view>
<view hidden='{{idx!=6}}'>食品酒水内容</view>
<view hidden='{{idx!=7}}'>美妆个护内容</view>
<view hidden='{{idx!=8}}'>母婴玩具内容</view>
</view>
<!-- 右侧内容end -->
</view>
wxss:
/* 多面板(左右布局) */
.containers{
display: flex;
flex-direction: row;
height: 100%;
}
.leftmenu{
width: 25%;
height: 100%;
box-sizing:border-box;
background-color:#f4f4f4;
position: fixed;
}
.menu-subitem{
display: flex;
justify-content: center;
align-items: center;
height: 140rpx;
border-bottom: 1rpx solid #e3e3e3;
border-right: 1rpx solid #e3e3e3;
font-size: 0.8rem;
margin-top: 20rpox;
}
.box-container view.active{
border-left: 8rpx solid #0092d8;
color: #0092d8;
}
.box-container view.active1{
border-left: 8rpx solid #f4f4f4;
color: #000;
}
.rightcontent{
width: 75%;
height: auto;
box-sizing: border-box;
margin-left: 25%;
background-color: #fff;
}
js:
// pages/flex/flex.js
Page({
/**
* 页面的初始数据
*/
data: {
list:[
{ 'num': '手机数码'},
{ 'num': '电脑办公' },
{ 'num': '电视影音' },
{ 'num': '空调水洗' },
{ 'num': '厨卫电器' },
{ 'num': '生活电器' },
{ 'num': '食品酒水' },
{ 'num': '美妆个护' },
{ 'num': '母婴玩具' }
],
idx: 0,
},
goIndex(e) {
let index = e.currentTarget.dataset.index;
this.setData({
idx: index
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})