zoukankan      html  css  js  c++  java
  • 微信小程序—day02

    全局配置

    在app.json中,对小程序进行全局配置。官方文档

    tabBar是对底部/顶部导航栏的配置,图片的icon 大小限制为40kb,建议尺寸为 81px * 81px

    阿里矢量图网站,找到图片,存放到images文件夹中

    app.json中的tabBar代码:

    "tabBar": {
        "list": [{
          "pagePath": "pages/home/home",
          "text": "主 页",
          "iconPath": "images/home.png",
          "selectedIconPath": "images/home-red.png"
        },{
          "pagePath": "pages/user/user",
          "text": "我 的",
          "iconPath": "images/user.png",
          "selectedIconPath": "images/user-red.png"
          }
        ]
      }

    我的底部导航栏:

    swiper滑块视图

     通过swiper,制作一个轮播图。官方文档

    轮播图位于主页的顶部,wxml代码:

    <view class='top-swiper'>
    <swiper autoplay='true' indicator-dots='true' indicator-color='#fff' indicator-active-color='#8CBEF5' circular='true'>
      <swiper-item wx:for="{{banners}}">
        <image src='{{item.imgUrl}}'></image>
      </swiper-item>
    </swiper>
    </view>

    wxss代码:

    swiper-item image {
       100%;
      height: 100%;
    }

    图片宽高都设为100%,相当于拉伸填充;虽然图片会变形,但无伤大雅。

    列表渲染

    列表渲染,其实就是for循环。官方文档

    页面数据是存放在.js文件,里面的Page.data之内。

    将data中的数组之内的数据,以for循环的形式传递到wxml之中,这是我理解的列表渲染。

    通过列表渲染,完成了主页的中间部分。

    wxml代码:

    <view class='navs'>
    <view class="nav-item" wx:for="{{icons}}">
      <view>
        <image class='iconPic' src='{{item.imgUrl}}'></image>
      </view>
      <text class='iconTitle'>{{item.name}}</text>
    </view>
    </view>

    wxss代码:

    .navs {
      display: flex;
       100%;
      flex-wrap: wrap;
      background-color: #fff;
      margin-bottom: 10px;
    }
    .nav-item {
       25%;
      padding: 10px;
      display: inline-block;
      text-align: center;
      box-sizing: border-box;
    }
    .iconPic {
       88rpx;
      height: 88rpx;
    }
    .iconTitle {
      color: #666;
      font-size: 14px;
    }

    主页的顶部与中部就完成了:

    text组件

    官方文档

     

    image组件

    官方文档

    这里用到了mode属性中的widthFix,但要在wxss中对图片的宽度width进行设置。

    navigator组件

    官方文档

    navigator组件用于页面的跳转。

    利用navigator组件,编写主页底部,并完成底部文章的跳转页面。

     wxml代码:

    <view class='article'>
      <view class='article-top'>食物推荐</view>
      <view class='article-item' wx:for="{{article}}">
        <navigator url='{{item.link}}' open-type='navigate'>
          <image class='articlePic' src='{{item.imgUrl}}' mode='widthFix'></image>
          <view class='articleTitle'>{{item.title}}</view>
        </navigator>
      </view>
    </view>

    wxss代码:

    .article {
      background-color: #fff;
      padding: 10px;
    }
    .article-top {
      text-align: center;
      color: rgb(116, 230, 144);
    }
    .article-item {
      padding-bottom: 10px;
      padding-top: 10px;
      border-bottom-style: double;
      border- 3px;
      border-color: #A1A7AD;
    }
    .articlePic {
       100%;
    }
    .articleTitle {
      font-size: 16px;
      color: #A1A7AD;
    }

     因为两个跳转的页面布局相同,只呈现一个的。

     wxml代码:

    <view>
      <image class='img' src='{{article.imgUrl}}' mode='widthFix'></image>
    </view>
    
    <view>
      <view class='title'>
        <view class='title-bottom'>{{article.title}}</view>
      </view>
      <view class='text'>
        <text decode='true'>{{article.content}}</text>
      </view>
    </view>

    wxss代码:

    .img {
       100%;
    }
    .title {
      position: relative;
      text-align: center;
      font-size: 26px;
      color: #8CBEF5;
      padding: 15px;
      margin-bottom: 20px;
    }
    .title-bottom {
      padding: 20px;
    }
    .title-bottom:after {
      content: "";
      position: absolute;
      left: 50px;
      top: auto;
      bottom: 0;
      right: auto;
      height: 5px;
       275px;
      background-color: #32b66b;
    }
    .text {
      padding: 10px;
      font-size: 18px;
      line-height: 1.5;
    }

    这里用到了css中的伪类  :after ,来控制边框的长短。

    参考了博客:https://blog.csdn.net/Colossalis_c/article/details/71216339

    最终完成后的主页与跳转页:

            

    scroll-view可滚动视图区域

     官方文档

    scroll-x属性设为true,允许横向滚动。scroll-left设置横向滚动条位置。

    滚动区域基本编写完毕。编写过程中,出现滚动区域无法拖动的问题,待明天解决。

  • 相关阅读:
    PHP序列化和反序列化
    移动端纯css超出盒子出现横向滚动条
    css3盒子flex
    css怎么设置2个div同行,第一个固定宽度,第二个占满剩余的部分
    PHP对象基础
    常用header头
    【转载】文件上传那些事儿,文件ajax无刷上传
    简单工厂模式(Simple Factory Pattern)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/gangler/p/9404466.html
Copyright © 2011-2022 走看看