微信小程序 view 内控件位置问题、以及定位问题(column(显示为多行) 和 row (显示为一行))

一、首先需要知道:
小程序的page中的.wxml中有一个默认的最外层布局“page”(在wxml中并未显示出来),默认的width和height是适应内容大小的。可以在.wxss中设置样式:(下面样式:适应页面的宽度和高度)

page{
   height: 100%;
   width: 100%;
}

二、当你设置了父布局的宽高之后,再设置内容控件的大小和位置才会生效。
.wxml文件代码如下:

<view class="window_view">
   <scroll-view class="scroll-view_H" scroll-x="true">
      <view id="local" class="scroll-view-item_H local">
         <view class='box'>
            <image src='../../img/location_bar.png'>image>
            <text>定位text>
         view>
      view>
      <view id="img" class="scroll-view-item_H img">
         <view class='box'>
            <image src='../../img/img_bar.png'>image>
            <text>照片text>
         view>
      view>
      <view id="audio" class="scroll-view-item_H audio">
         <view class='box'>
            <image src='../../img/audio_bar.png'>image>
            <text>语音text>
         view>
      view>
      <view id="qrcode" class="scroll-view-item_H qrcode">
         <view class='box'>
            <image src='../../img/qrcode_bar.png'>image>
            <text>二维码text>
         view>
      view>
      <view id="txt" class="scroll-view-item_H txt">
         <view class='box'>
            <image src='../../img/txt_bar.png'>image>
            <text>文本text>
         view>
      view>
      <view id="video" class="scroll-view-item_H video">
         <view class='box'>
            <image src='../../img/video_bar.png'>image>
            <text>小视频text>
         view>
      view>
   scroll-view>
view>

.wxss文件内容如下:

/* pages/components/components.wxss */
page{//跟布局
   height: 100%;
   width: 100%;
}
.window_view {//第一层view
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: row;//显示为一行 column显示为多行
   align-items: flex-end;//列表项置于view的底部 align-items:是view中的控件显示在view的左边/右边/中间
}

.scroll-view_H {//第二层的scroll-view 滑动模块
   width: 100%;
   height: 200rpx;
   white-space: nowrap;
}

.scroll-view-item_H {
   width: 150rpx;
   height: 200rpx;
   display: inline-flex;
   margin-left: 5rpx;
   white-space: nowrap;
}

.box {
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;//显示为多行
   justify-content: center;
}

image {
   margin-right: auto;
   margin-left: auto;
   width: 100rpx;
   height: 100rpx;
}

text {
   margin-right: auto;
   margin-left: auto;
   margin-top: 5rpx;
   font: 20;
}

预览结果:
微信小程序 view 内控件位置问题、以及定位问题(column(显示为多行) 和 row (显示为一行))_第1张图片

你可能感兴趣的:(微信小程序 view 内控件位置问题、以及定位问题(column(显示为多行) 和 row (显示为一行)))