一.小程序的宿主环境—组件
1.小程序中组件的分类
小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:
1.视图容器 2.基础内容 3.表单组件 4.导航组件
5.媒体组件 6.map 地图组件 7.canvas 画布组件 8.开放能力
9.回无障碍访问
2.常用的视图容器类组件
1.view
a.普通视图区域
b.类似于 HTML 中的 div ,是一个块级元素
c.常用来实现页面的布局效果
2.scroll-view
a.可滚动的视图区域
b.常用来实现滚动列表效果
3.swiper 和swiper-item
轮播图容器组件和轮播图 tem 组件
- view实例
a.wxml中:
<view class="container1" >
<view>温度</view>
<view>湿度</view>
<view>光照强度</view>
</view>
b.wxss中:
.container1 view{
width: 100px;
height: 100px;
text-align: center;
/* 横向居中 */
line-height: 100px;
/* 纵向剧中 */
}
.container1 view:nth-child(1){
background-color: lightgreen;
/* 设置背景颜色 */
}
.container1 view:nth-child(2){
background-color: lightblue;
}
.container1 view:nth-child(3){
background-color: lightcoral;
}
.container1{
display: flex;
justify-content: space-around;
/* 分散对其 */
}
实现如图的flex横向布局效果:
- scroll-view实例
a.wxml
scroll-y //实现纵向滚动
scroll-x //实现横向滚动
<scroll-view class="container1" scroll-y > //实现纵向滚动
<view>温度</view>
<view>湿度</view>
<view>光照强度</view>
</scroll-view>
b.wxss(在实例1的前提下,加入以下内容)
.container1{
border: 1px solid red;
/* 给scroll-view固定高度 */
height: 120px;
width: 100px;
}
实现滚轮如下效果:
- swiper 和swiper-item的基本使用
a.wxml实现:
<!-- swiper和swiper-item
轮播图容器组件 和 轮播图item 组件 -->
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular>
<!-- 第一个轮播图 -->
<swiper-item>
<view class="item">温度</view>
</swiper-item>
<!-- 第二个轮播图 -->
<swiper-item>
<view class="item">湿度</view>
</swiper-item>
<!-- 第三个轮播图 -->
<swiper-item>
<view class="item">光照强度</view>
</swiper-item>
</swiper>
b.wxss实现
/* 轮播图的样式 */
.swiper-container{
height: 150px;
}
.item{
height: 100%;
line-height: 150px;
/* 水平居中 */
text-align: center;
}
/* .item前面有一个空格 */
swiper-item:nth-child(1) .item{
background-color: lightgreen;
}
swiper-item:nth-child(2) .item{
background-color: lightblue;
}
swiper-item:nth-child(3) .item{
background-color: lightpink;
}
轮播图效果实现:
#swiper组件的常用属性:
4.常用的基础内容组件
a.text
文本组件
类似于 HTML 中的 span 标签,是一个行内元素 .
1.0 test组件的基本使用
通过text组件的selecttable属性,实现长按选中文本内容的效果
a.实例:
<view>
手机号支持长按选中效果
<text selectable>182000000000</text>
</view>
效果如下:
b.rich - text
富文本组件
支持把 HTML 字符串渲染为 WXML 结构.
2.0 rich - text组件的基本使用
通过rich-text组件的nodes属性节点,把HTML字符串渲染为对应的UI结构
<rich-text nodes="<h1 style='color:red'> 标题</h1>">
显示效果如下:
5.其他常用组件
button
.按钮组件
.功能比 HTML 中的 button 按钮丰富
通过 open - type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等))
button 按钮的基本使用
<!-- 通过type属性指定按钮颜色类型 -->
<button>普通按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>
<!-- size="mini" 小尺寸按钮 -->
<button size="mini" style="position: relative; left: 90rpx; top: 8rpx">普通按钮</button>
<button type="primary" size="mini" style="position: relative; left: 154rpx; top: 8rpx">主色调</button>
<button type="warn" size="mini" style="position: relative; left: 240rpx; top: 8rpx">警告按钮</button>
<!--plain 镂空按钮 -->
<button size="mini" plain style="position: relative; left: -406rpx; top: 76rpx">普通按钮</button>
<button type="primary" size="mini" plain style="position: relative; left: 326rpx; top: 0rpx">主色调</button>
<button type="warn" size="mini" plain style="position: relative; left: 409rpx; top: 0rpx">警告按钮</button>
显示效果如下:
在app.json中,v2表示新版样式.
image
.图片组件
. image 组件默认宽度约300px、高度约240px
image 组件的基本使用
image组件的mode属性用来指定图片的裁剪和缩放模式,常用的mode属性值如下。
<!-- image图片组件 mode属性-->
<image src="/images/1.png" mode="aspectFit"></image>
navigator (后面会专门讲解)
页面导航组件
类似于 HTML 中的 a 链接