小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:
1.视图容器 2.基础内容 3.表单组件 4.导航组件
5.媒体组件 6.map 地图组件 7.canvas 画布组件 8.开放能力
9.回无障碍访问
1.view
a.普通视图区域
b.类似于 HTML 中的 div ,是一个块级元素
c.常用来实现页面的布局效果
2.scroll-view
a.可滚动的视图区域
b.常用来实现滚动列表效果
3.swiper 和swiper-item
轮播图容器组件和轮播图 tem 组件
a.wxml中:
温度 湿度 光照强度
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横向布局效果:
a.wxml
scroll-y //实现纵向滚动
scroll-x //实现横向滚动
//实现纵向滚动温度 湿度 光照强度
b.wxss(在实例1的前提下,加入以下内容)
.container1{border: 1px solid red;/* 给scroll-view固定高度 */height: 120px;width: 100px;
}
实现滚轮如下效果:
a.wxml实现:
温度 湿度 光照强度
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;
}
轮播图效果实现:
文本组件
类似于 HTML 中的 span 标签,是一个行内元素 .
通过text组件的selecttable属性,实现长按选中文本内容的效果
手机号支持长按选中效果182000000000
效果如下:
富文本组件
支持把 HTML 字符串渲染为 WXML 结构.
通过rich-text组件的nodes属性节点,把HTML字符串渲染为对应的UI结构
标题">
显示效果如下:
.按钮组件
.功能比 HTML 中的 button 按钮丰富
通过 open - type 属性可以调用微信提供的各种功能(客服、转发、获取用户授权、获取用户信息等))
显示效果如下:
在app.json中,v2表示新版样式.
.图片组件
. image 组件默认宽度约300px、高度约240px
image组件的mode属性用来指定图片的裁剪和缩放模式,常用的mode属性值如下。
页面导航组件
类似于 HTML 中的 a 链接