【提示:】
- 如果看到
讲解
内容比较多,没有耐心看的话,直接看案例
。 - 第一章是微信小程序认识及讲解,我会尽快发出来。
二、组件
1、view组件的基本用法
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中使用<view> 标签创建视图容器,可直接放内容或嵌套<view> 标签,如<view class="container1">...</view> |
属性值 | - class 属性:指定类名用于样式设置,如<view class="my-view-class"> 。 - id 属性:设置唯一标识符用于 JavaScript 操作,如<view id="unique-view-id"> 。 - style 属性:设置内联样式,如<view style="width:100px; height:50px; background-color:red;"> |
适用场景 | - 页面布局:作为基础组件划分页面区域,如包裹头部、内容、底部等区域并放置相关组件。 - 内容承载:承载各种内容组件,如展示产品文字和图片并设置样式 |
注意点 | - 样式关联:确保.wxss 中定义对应类选择器样式。 - 嵌套布局:注意层级关系,规划调整组件尺寸位置,考虑样式优先级避免冲突 |
案例:
实现如图的flex横向布局效果:
- 【效果图】
- 【代码】
.wxml
<view class="container1">
<view>A</view>
<view>B</view>
<view>C</view>
</view>
.wxml解释:
代码内容 | 说明 | 涉及语法及作用 |
---|---|---|
<view class="container1"> |
创建一个作为外层容器的视图,后续其他视图元素将放置在其内部,并且通过设置的类名container1 可在样式文件中对其样式进行定制化设置。 |
- <view> :微信小程序中的视图容器标签,用于布局和承载内容展示。 - class 属性:用于给元素指定一个类名,以便通过样式表根据该类名来定义元素的样式。 |
<view>A</view> |
在container1 容器内创建一个子视图,该子视图显示的内容为字符A 。 |
<view> :作为内容展示的视图容器,这里直接在标签内放置了要展示的文本内容。 |
<view>B</view> |
与上一个类似,在container1 容器内创建一个子视图,展示内容为字符B 。 |
同<view>A</view> 中的<view> 语法作用。 |
<view>C</view> |
同样是在container1 容器内创建一个子视图,展示内容为字符C 。 |
同<view>A</view> 中的<view> 语法作用。 |
.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;
}
.wxss解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
.container1 view { width: 100px; height: 100px; text-align: center; line-height: 100px; } |
为类名为container1 的容器内的所有<view> 子元素设置样式。包括统一设置宽度为 100px、高度为 100px,使文本在视图内水平居中(text-align: center ),以及通过设置line-height 与height 相同的值让文本在视图内垂直居中。 |
- 选择器.container1 view :这是一个后代选择器,表示选择类名为container1 的元素内部的所有<view> 元素。 - width 、height 属性:分别用于设置元素的宽度和高度。 - text-align 属性:控制文本在元素内的水平对齐方式。 - line-height 属性:设置行高,当与元素高度相同时可实现文本垂直居中。 |
.container1 view:nth-child(1) { background-color: lightgreen; } |
为类名为container1 的容器内的第一个<view> 子元素设置背景颜色为浅绿色(lightgreen )。 |
- 选择器.container1 view:nth-child(1) :这是一个子元素选择器结合:nth-child() 伪类的用法,用于精确选择类名为container1 的元素内的第一个<view> 子元素。 - background-color 属性:用于设置元素的背景颜色。 |
.container1 view:nth-child(2) { background-color: lightblue; } |
为类名为container1 的容器内的第二个<view> 子元素设置背景颜色为浅蓝色(lightblue )。 |
与上述为第一个子元素设置样式类似,只是这里通过:nth-child(2) 选择了第二个子元素,并设置相应背景颜色。涉及的语法作用同.container1 view:nth-child(1) 部分。 |
.container1 view:nth-child(3) { background-color: lightcoral; } |
为类名为container1 的容器内的第三个<view> 子元素设置背景颜色为浅珊瑚色(lightcoral )。 |
同理,通过:nth-child(3) 选择第三个子元素并设置背景色。语法作用同前面相关部分。 |
.container1 { display: flex; justify-content: space-around; } |
对类名为container1 的容器本身设置布局相关样式。将其设置为弹性布局(display: flex ),并让其内部的子元素在主轴方向上均匀分布,两端留有空白(justify-content: space-around )。 |
- display 属性:设置元素的显示类型,这里设置为flex 表示采用弹性布局。 - justify-content 属性:在弹性布局中,用于控制子元素在主轴方向上的对齐和分布方式。space-around 值表示子元素均匀分布,且相邻子元素之间、子元素与容器边缘之间的间隔相等。 |
2、scroll-view组件的基本用法
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中使用<scroll - view> 标签创建可滚动视图容器,如<scroll - view class="container2" scroll - y> ,<scroll - view> 是标签名,class 用于指定类名,scroll - y 设置垂直滚动 |
属性值 | - class 属性:给元素指定类名用于样式设置,如<scroll - view class="my - scroll - class"> 。 - scroll - y 属性:设置为true (可简写)允许垂直滚动,如<scroll - view scroll - y> 。 - scroll - x 属性(可能用到):设置为true 允许水平滚动,如<scroll - view scroll - x> |
适用场景 | 当容器内内容超出可视范围时,用于通过滚动查看全部内容,如长列表或多文本信息的展示 |
注意点 | - 样式设置:确保样式文件中定义了相应类选择器样式。 - 滚动方向属性:注意scroll - y 和scroll - x 设置,避免错误。 - 高度设置:通常需给组件设置固定高度,否则滚动效果可能不佳 |
案例:
实现如图的纵向滚动效果:
- 【效果图】
- 【代码】
.wxml
<scroll-view class="container2" scroll-y>
<view>A</view>
<view>B</view>
<view>C</view>
</scroll-view>
.wxml解释:
代码内容 | 说明 | 涉及语法及作用 |
---|---|---|
<scroll-view class="container2" scroll-y> |
创建一个可滚动的视图容器,类名为container2 ,并设置其可在垂直方向(scroll-y )进行滚动。用于当容器内的内容超出容器本身的可视范围时,能够通过滚动来查看全部内容。 |
- <scroll-view> :微信小程序中的可滚动视图容器标签,用于创建具有滚动功能的区域。 - class 属性:给<scroll-view> 元素指定类名container2 ,以便在样式文件中根据该类名来定义其样式。 - scroll-y :这是一个属性,设置为true (这里简写形式,只写属性名即表示启用该属性对应的功能)时,表示允许该滚动视图在垂直方向上滚动。 |
<view>A</view> |
在<scroll-view> 容器内创建一个子视图,该子视图显示的内容为字符A 。 |
<view> :作为内容展示的视图容器,这里直接在标签内放置了要展示的文本内容,在<scroll-view> 容器内作为其中的一项可滚动展示的内容部分。 |
<view>B</view> |
与上一个类似,在<scroll-view> 容器内创建一个子视图,展示内容为字符B 。 |
同<view>A</view> 中的<view> 语法作用。 |
<view>C</view> |
同样是在<scroll-view> 容器内创建一个子视图,展示内容为字符C 。 |
同<view>A</view> 中的<view> 语法作用。 |
.wxss
.container2 view {
width: 100px;
height: 120px;
text-align: center;
line-height: 100px;
}
.container2 view:nth-child(1) {
background-color: lightgreen;
}
.container2 view:nth-child(2) {
background-color: lightblue;
}
.container2 view:nth-child(3) {
background-color: lightcoral;
}
.container2 {
border: 1px solid black;
/* 给scroll-view 固定高度 */
height: 220px;
width: 100px;
}
.wxss解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
.container2 view { width: 100px; height: 120px; text-align: center; line-height: 100px; } |
为类名为container2 的<scroll-view> 容器内的所有<view> 子元素设置样式。包括设置宽度为 100px、高度为 120px,使文本在视图内水平居中(text-align: center ),通过设置line-height 让文本在垂直方向尽量靠近中心(这里line-height 设为 100px,与高度不完全匹配可能导致不完全垂直居中)。 |
- 选择器.container2 view :这是一个后代选择器,表示选择类名为container2 的元素(即<scroll-view> )内部的所有<view> 元素。 - width 、height 属性:分别用于设置元素的宽度和高度。 - text-align 属性:控制文本在元素内的水平对齐方式。 - line-height 属性:设置行高,影响文本在垂直方向的位置。 |
.container2 view:nth-child(1) { background-color: lightgreen; } |
为类名为container2 的<scroll-view> 容器内的第一个<view> 子元素设置背景颜色为浅绿色(lightgreen )。 |
- 选择器.container2 view:nth-child(1) :这是一个子元素选择器结合:nth-child() 伪类的用法,用于精确选择类名为container2 的元素(<scroll-view> )内的第一个<view> 子元素。 - background-color 属性:用于设置元素的背景颜色。 |
.container2 view:nth-child(2) { background-color: lightblue; } |
为类名为container2 的<scroll-view> 容器内的第二个<view> 子元素设置背景颜色为浅蓝色(lightblue )。 |
与上述为第一个子元素设置样式类似,只是这里通过:nth-child(2) 选择了第二个子元素,并设置相应背景颜色。涉及的语法作用同.container2 view:nth-child(1) 部分。 |
.container2 view:nth-child(3) { background-color: lightcoral; } |
为类名为container2 的<scroll-view> 容器内的第三个<view> 子元素设置背景颜色为浅珊瑚色(lightcoral )。 |
同理,通过:nth-child(3) 选择第三个子元素并设置背景色。语法作用同前面相关部分。 |
.container2 { border: 1px solid black; /* 给scroll-view 固定高度 */ height: 220px; width: 100px; } |
对类名为container2 的<scroll-view> 容器本身设置样式。给容器添加 1px 宽的黑色实线边框(border: 1px solid black ),并设置其高度为 220px、宽度为 100px,以便为其内部可滚动的内容提供一个固定大小的可视区域。 |
- border 属性:用于设置元素的边框样式,这里设置了边框宽度为 1px、样式为实线(solid )、颜色为黑色。 - height 、width 属性:分别用于设置元素(即<scroll-view> 容器)的高度和宽度。 |
3、swiper和swiper-item组件的基本使用
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中,<swiper> 标签创建轮播图容器,如<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular> ,<swiper-item> 标签用于承载轮播项内容,如<swiper-item><view class="item">A</view></swiper-item> |
属性值 | - class 属性(swiper):指定类名用于样式设置,如<swiper class="swiper-container"> 。 - indicator-dots 属性(swiper):设置为true 显示面板指示点,如<swiper indicator-dots> 。 - indicator-color 属性(swiper):设置指示点颜色,如<swiper indicator-color="white"> 。 - indicator-active-color 属性(swiper):设置激活指示点颜色,如<swiper indicator-active-color="gray"> 。 - autoplay 属性(swiper):设置为true 自动播放,如<swiper autoplay> 。 - interval 属性(swiper):设置播放间隔,如<swiper interval="3000"> 。 - circular 属性(swiper):设置为true 循环播放,如<swiper circular> 。 - class 属性(swiper-item):给内部<view> 指定类名用于样式设置,如<swiper-item><view class="item">A</view></swiper-item> 中的<view class="item"> |
适用场景 | 用于创建轮播图效果,展示图片或内容,吸引用户注意力,如展示广告图片、产品图片等 |
注意点 | - 确保样式文件中定义了相应类选择器样式。 - 注意属性设置正确,如播放间隔、指示点颜色等符合预期。 - 合理设置轮播图容器和轮播项的样式,避免样式冲突 |
案例:
实现如图的轮播图的效果:
- 【效果图】
- 【代码】
.wxml
<!--
轮播图:
swiper和swiper-item组件的基本使用
轮播图区域
indicator-dots 属性:显示面板指示点
-->
<swiper class="swiper-container"
indicator-dots
indicator-color="white"
indicator-active-color="gray"
autoplay interval="3000"
circular>
<!-- 第1项 -->
<swiper-item>
<view class="item">A</view>
</swiper-item>
<!-- 第2项 -->
<swiper-item>
<view class="item">B</view>
</swiper-item>
<!-- 第3项 -->
<swiper-item>
<view class="item">C</view>
</swiper-item>
</swiper>
.wxml解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
<!-- 轮播图: swiper和swiper-item组件的基本使用 轮播图区域 indicator-dots 属性:显示面板指示点 --> |
这是一段注释内容,用于对下方代码的功能及相关属性进行简要说明。让后续查看代码的人能快速了解这段代码是关于轮播图的实现,涉及swiper 和swiper-item 组件的基本使用,并且特别提到了indicator-dots 属性用于显示面板指示点的作用。 |
注释语法:在 HTML 以及微信小程序代码体系中,<!-- 和--> 之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。 |
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular> |
创建一个功能更丰富的轮播图容器组件,类名为swiper-container 。以下是对各属性的详细说明: - indicator-dots :设置为true (只写属性名即表示启用该属性对应的功能),用于在轮播图下方显示指示点,让用户能直观知晓当前显示的是第几项以及总共有几项可轮播内容。 - indicator-color :设置指示点的颜色为白色,用于统一指示点未被激活时的外观颜色。 - indicator-active-color :设置指示点被激活(即当前轮播到该项时)的颜色为灰色,以便用户能清晰区分当前展示的轮播项。 - autoplay :设置为true (同样只写属性名默认启用),使轮播图能够自动播放,无需用户手动切换。 - interval :设置自动播放时相邻两项切换的间隔时间为 3000 毫秒(即 3 秒),控制轮播的节奏。 - circular :设置为true ,让轮播图能够循环播放,即当播放到最后一项后会自动切换回第一项继续播放,形成一个无缝的循环。 |
- <swiper> :微信小程序中用于实现轮播图功能的核心组件。 - class 属性:给<swiper> 组件指定类名swiper-container ,以便在样式文件中根据该类名来定义其样式。 - 各属性(indicator-dots 、indicator-color 、indicator-active-color 、autoplay 、interval 、circular ):分别用于对轮播图的不同展示特性进行设置,如指示点显示及颜色、自动播放、播放间隔、循环播放等。【后面有补充内容】 |
<!-- 第1项 --> <swiper-item> <view class="item">A</view> </swiper-item> |
这是轮播图中的第一项内容设置。在swiper-item 组件内放置了一个<view> 组件,其类名为item ,显示的内容为字符A 。每个swiper-item 代表轮播图中的一项可切换展示的内容。 |
- <swiper-item> :是swiper 组件中的子项组件,用于承载轮播图中的每一项具体内容。 - <view> :作为内容展示的视图容器,这里在swiper-item 内放置了<view> 来展示具体文本内容。 - class 属性(在<view> 上):给<view> 元素指定类名item ,用于后续在样式文件中设置其样式。 |
<!-- 第2项 --> <swiper-item> <view class="item">B</view> </swiper-item> |
轮播图中的第二项内容设置,与第一项类似,在swiper-item 组件内通过<view> 组件展示内容为字符B 。 |
同上述轮播图第一项内容设置部分的语法作用,只是展示的具体内容为B 。 |
<!-- 第3项 --> <swiper-item> <view class="item">C</view> </swiper-item> |
轮播图中的第三项内容设置,同样在swiper-item 组件内通过<view> 组件展示内容为字符C 。 |
同上述轮播图第一项内容设置部分的语法作用,只是展示的具体内容为C 。 |
【补充:】
swiper 组件的常用属性
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
indicator-dots | boolean | false | 该属性用于决定是否显示面板指示点。如果设置为 true,则会在面板上显示指示点,以帮助用户了解当前显示的是哪个面板内容。 |
indicator-color | color | rgba(0, 0, 0,.3) | 此属性用于设置指示点的颜色。默认情况下,指示点的颜色为半透明黑色(rgba (0, 0, 0,.3)),可以根据需要修改为其他颜色值。 |
indicator-active-color | color | 000000 | 这个属性定义了当前选中的指示点的颜色。默认值为纯黑色(000000),当用户切换面板内容时,当前显示的面板对应的指示点会以这个颜色显示。 |
autoplay | boolean | false | 决定是否自动切换面板内容。如果设置为 true,面板内容会按照一定的时间间隔自动切换。 |
interval | number | 5000 | 该属性指定自动切换的时间间隔,单位为毫秒。默认值为 5000 毫秒,即 5 秒。可以根据需要调整这个时间间隔。 |
circular | boolean | false | 用于确定是否采用衔接滑动方式。如果设置为 true,当面板内容切换到最后一个时,会自动循环回到第一个,实现无缝衔接的滑动效果。 |
.wxss
/* 轮播图:
swiper和swiper-item组件的基本使用 */
.swiper-container {
height: 150px; /*轮播图容器的高度*/
}
.item {
height: 100%;
line-height: 150px;
text-align: center;
}
swiper-item:nth-child(1) {
background-color: lightgreen;
}
swiper-item:nth-child(2) {
background-color: lightblue;
}
swiper-item:nth-child(3) {
background-color: lightcoral;
}
.wxss解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
/* 轮播图: swiper和swiper-item组件的基本使用 */ |
这是一段 CSS 样式代码中的注释内容,用于对下面要设置的样式相关的组件使用情况进行简要说明,方便后续开发者理解这些样式是针对轮播图相关组件的。 | 注释语法:在 CSS 中,/* 和*/ 之间的内容为注释部分,编译器在处理样式代码时会忽略注释内容,不影响样式的实际应用效果。 |
.swiper-container { height: 150px; /*轮播图容器的高度*/ } |
对类名为swiper-container 的轮播图容器(对应前面代码中的<swiper> 组件)设置样式,将其高度定义为 150px,以便确定轮播图在页面上所占据的垂直空间大小。 |
- 选择器.swiper-container :这是一个类选择器,用于选择页面上所有类名为swiper-container 的元素,在这里就是针对轮播图容器进行样式设置。 - height 属性:用于设置元素的高度,这里明确了轮播图容器的垂直尺寸为 150px。 |
.item { height: 100%; line-height: 150px; text-align: center; } |
对类名为item 的元素(对应前面代码中<view> 元素且类名为item 的部分)设置样式。设置其高度为父元素的 100%(这里父元素应该是对应的swiper-item ),行高为 150px,使文本在元素内垂直方向尽量靠近中心位置(因为行高与轮播图容器高度相同,但可能因文本自身高度等因素不完全垂直居中),并让文本在水平方向居中。 |
- 选择器.item :类选择器,用于选择所有类名为item 的元素。 - height 属性:设置元素的高度为父元素的 100%,以保证能占满父元素的垂直空间。 - line-height 属性:设置行高,影响文本在垂直方向的位置。 - text-align 属性:控制文本在元素内的水平对齐方式,使其水平居中。 |
swiper-item:nth-child(1) { background-color: lightgreen; } |
为轮播图中的第一个swiper-item 组件设置背景颜色为浅绿色(lightgreen ),用于区分不同的轮播图项。 |
- 选择器swiper-item:nth-child(1) :这是一个子元素选择器结合:nth-child() 伪类的用法,用于精确选择轮播图中的第一个swiper-item 组件。 - background-color 属性:用于设置元素的背景颜色。 |
swiper-item:nth-child(2) { background-color: lightblue; } |
为轮播图中的第二个swiper-item 组件设置背景颜色为浅蓝色(lightblue )。 |
与上述为第一个swiper-item 设置样式类似,只是通过:nth-child(2) 选择了第二个swiper-item 组件,并设置相应背景颜色。涉及的语法作用同swiper-item:nth-child(1) 部分。 |
swiper-item:nth-child(3) { background-color: lightcoral; } |
为轮播图中的第三个swiper-item 组件设置背景颜色为浅珊瑚色(lightcoral )。 |
同理,通过:nth-child(3) 选择第三个swiper-item 组件并设置背景色。语法作用同前面相关部分。 |
4、常用的基础内容
组件
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中,<text> 用于展示简单文本,可设置selectable 属性,如<text selectable>12332123332</text> ;<rich - text> 用于渲染特定格式内容,通过nodes 属性传入,如<rich - text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich - text> |
属性值 | - selectable 属性(text):设置为true 文本可被选中,如<text selectable>12332123332</text> 。 - nodes 属性(rich - text):传入要渲染的内容节点,如<rich - text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich - text> |
适用场景 | - text 组件:用于展示简单文本信息,如页面中的说明文字、电话号码等。 - rich - text 组件:用于渲染复杂格式的文本,如 HTML 格式的标题、段落等内容 |
注意点 | - 对于rich - text 组件,要确保传入的内容格式符合要求,否则可能无法正确渲染。 - 注意text 组件的selectable 属性设置符合需求,避免不必要的文本可选中情况 |
案例:
实现如图的效果:
- 【效果图】
- 【代码】
.wxml
<!-- 常用的基础 内容 组件
text 组件和 rich-text 组件 -->
<view>
手机号支持长按选中效果
<text selectable>12332123332</text>
</view>
<rich-text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich-text>
.wxml解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
<!-- 常用的基础 内容 组件 text 组件和 rich-text 组件 --> |
这是一段注释内容,用于对下方代码所涉及的主要组件进行简要说明,告知后续查看代码的人这里主要展示的是关于text 组件和rich-text 组件这两种常用的基础内容组件的使用。 |
注释语法:在 HTML 以及微信小程序代码体系中,<!-- 和--> 之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。 |
<view> 手机号支持长按选中效果 <text selectable>12332123332</text> </view> |
在一个<view> 容器组件内,展示了一段文字说明 “手机号支持长按选中效果”,并且包含了一个<text> 组件,其显示的内容为 “12332123332”,同时设置了selectable 属性为true (只写属性名即表示启用该属性对应的功能),使得该文本内容在小程序页面中可被长按选中,方便用户进行复制等操作。 |
- <view> :作为一个通用的视图容器,用于对页面内容进行布局划分和承载其他组件,这里用来放置相关的文字说明和text 组件。 - <text> :微信小程序中的文本组件,用于展示简单的文本内容。 - selectable 属性:设置文本是否可被选中,当设置为true 时,用户可以通过长按操作选中该文本内容。 |
<rich-text nodes=" <h1 style='color: red;'> 渲染HTML的h1标题 </h1>"> </rich-text> |
使用了<rich-text> 组件来渲染一段特定格式的内容。这里通过nodes 属性传入了一段 HTML 格式的字符串,其中包含了一个<h1> 标签,并设置了其样式为color: red; ,用于将 “渲染 HTML 的 h1 标题” 这段内容以 HTML 中<h1> 标题的样式(红色字体)在微信小程序页面中进行渲染展示。 |
- <rich-text> :微信小程序中的富文本组件,它能够解析并渲染传入的符合一定格式(如 HTML 格式)的内容。 - nodes 属性:用于传入要渲染的内容节点,这里接收的是一段包含 HTML 标签及样式设置的字符串,通过该属性将指定的内容传递给rich-text 组件进行渲染。 |
5、button 按钮的基本使用
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中使用<button> 标签创建按钮,如<button>默认按钮</button> ,可设置type 、size 、plain 等属性 |
属性值 | - type 属性:指定按钮类型,如<button type="primary">主色调按钮</button> ,primary 、warn 等为常见类型。 - size 属性:控制按钮尺寸,如<button size="mini">小尺寸按钮</button> ,mini 表示小尺寸。 - plain 属性:使按钮呈现镂空样式,如<button size="mini" plain>默认按钮</button> |
适用场景 | 用于创建可交互的按钮元素,触发相应操作,如提交表单、跳转页面等 |
注意点 | - 确保不同类型按钮的样式符合预期,如type 属性设置的主色调、警告色等正确。 - 注意size 和plain 属性组合使用时的样式效果符合要求 |
案例:
实现如图按钮的不同属性效果:
- 【效果图】
- 【代码】
.wxml
<!-- button 按钮的基本使用 -->
<view>~~~~~~~~通过 type 指定按钮类型~~~~~~~~</view>
<button>默认按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>
<view>~~~~~~~~size="mini" 小尺寸按钮~~~~~~~~~</view>
<view class="space">
<button size="mini">默认按钮</button>
<button type="primary" size="mini">主色调按钮</button>
<button type="warn" size="mini">警告按钮</button>
</view>
<view>~~~~~~~~~~~plain 镂空按钮~~~~~~~~~~~</view>
<view class="space">
<button size="mini" plain>默认按钮</button>
<button type="primary" size="mini" plain>主色调按钮</button>
<button type="warn" size="mini" plain>警告按钮</button>
</view>
.wxml解释:
<!-- button 按钮的基本使用 --> |
这是一段注释内容,用于对下方代码的功能进行简要说明,让后续查看代码的人能快速了解这里主要展示的是关于按钮(button )组件的基本使用。 |
注释语法:在 HTML 以及微信小程序代码体系中,<!-- 和--> 之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。 |
---|---|---|
<view>~~~~~~~~通过 type 指定按钮类型~~~~~~~~</view> |
创建一个<view> 容器组件,用于显示一段说明文字 “通过 type 指定按钮类型”,起到对下方不同类型按钮展示的引导和说明作用。 |
- <view> :作为一个通用的视图容器,用于对页面内容进行布局划分和承载其他组件,这里用来放置说明文字。 |
<button>默认按钮</button> |
创建一个默认类型的按钮,按钮上显示的文本内容为 “默认按钮”。该按钮未设置特殊的类型属性,将呈现默认的样式和行为。 | - <button> :微信小程序中的按钮组件,用于创建可交互的按钮元素,用户可以点击按钮触发相应的操作(具体操作需后续通过绑定事件等来实现)。 |
<button type="primary">主色调按钮</button> |
创建一个类型为 “primary” 的按钮,按钮上显示的文本内容为 “主色调按钮”。“primary” 类型通常会使按钮呈现与应用主色调相关的样式,用于突出重要的操作按钮。 | - <button> :同上述默认按钮部分的作用。 - type 属性:用于指定按钮的类型,不同类型会赋予按钮不同的外观样式,这里 “primary” 类型赋予按钮特定的主色调相关样式。 |
<button type="warn">警告按钮</button> |
创建一个类型为 “warn” 的按钮,按钮上显示的文本内容为 “警告按钮”。“warn” 类型的按钮通常会呈现与警告相关的样式,比如可能是红色系等醒目的颜色,用于提示用户进行某些操作可能存在风险等。 | - <button> :同上述作用。 - type 属性:这里 “warn” 类型赋予按钮与警告相关的外观样式。 |
<view>~~~~~~~~size="mini" 小尺寸按钮~~~~~~~~~</view> |
创建一个<view> 容器组件,用于显示一段说明文字 “size=“mini” 小尺寸按钮”,对接下来要展示的小尺寸按钮进行说明。 |
- <view> :作为布局和承载说明文字的容器,作用同前面相关部分。 |
<view class="space"> <button size="mini">默认按钮</button> <button type="primary" size="mini">主色调按钮</button> <button type="warn" size="mini">警告按钮</button> </view> |
创建一个类名为 “space” 的<view> 容器组件,在其中放置了三个小尺寸的按钮。分别是默认类型、“primary” 类型和 “warn” 类型的按钮,且都通过设置 “size=“mini”” 属性将它们的尺寸变为小尺寸,以便在页面上呈现更紧凑的按钮布局。 |
- <view> :作为容器承载按钮组件,同时通过设置类名 “space” 可在样式文件中根据该类名来定义其样式,可能用于设置容器内元素的排列方式等。 - <button> :按钮组件,这里创建了不同类型的小尺寸按钮,“size” 属性用于控制按钮的尺寸大小,设置为 “mini” 表示小尺寸。 |
<view>~~~~~~~~~~~plain 镂空按钮~~~~~~~~~~~</view> |
创建一个<view> 容器组件,用于显示一段说明文字 “plain 镂空按钮”,对接下来要展示的镂空按钮进行说明。 |
- <view> :布局和承载说明文字的容器,作用同前面相关部分。 |
<view class="space"> <button size="mini" plain>默认按钮</button> <button type="primary" size="mini" plain>主色调按钮</button> <button type="warn" size="mini" plain>警告按钮</button> </view> |
创建一个类名为 “space” 的<view> 容器组件,在其中放置了三个小尺寸且为 “plain” 类型(镂空样式)的按钮。分别是默认类型、“primary” 类型和 “warn” 类型的按钮,通过设置 “size=“mini”” 属性使其为小尺寸,并设置 “plain” 属性使其呈现镂空的外观样式,用于在页面上以不同样式展示按钮。 |
- <view> :容器作用同前。 - <button> :按钮组件,这里通过设置 “size” 和 “plain” 属性创建了不同类型的小尺寸镂空按钮,“plain” 属性用于使按钮呈现镂空样式。 |
.wxss
.space {
display: flex;
justify-content: space-around;
margin: 20px;
}
.wxss解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
.space { display: flex; justify-content: space-around; margin: 20px; } |
这段代码是用于设置类名为.space 的元素的样式。 |
- 选择器.space :这是一个类选择器,用于选择页面上所有类名为.space 的元素,在前面的代码中,就是那些包含按钮的<view> 容器元素。 - display 属性:设置元素的显示类型为flex ,将该元素转变为弹性布局容器。在弹性布局下,可以更方便地控制其子元素(如按钮)的排列方式、对齐方式等。 - justify-content 属性:在弹性布局中,用于控制子元素在主轴方向上的对齐和分布方式。这里设置为space-around ,表示让子元素在主轴方向上均匀分布,并且相邻子元素之间、子元素与容器边缘之间的间隔是相等的。 - margin 属性:用于设置元素的外边距,这里设置为20px ,会在该元素的四周都添加一个20px 的外边距,使得该元素与周围其他元素之间有一定的间隔空间,从而在页面上呈现出更好的布局效果。 |
6、image 组件(及mode属性)的基本使用
讲解:
分类 | 详情 |
---|---|
语法 | 在.wxml 文件中使用<image> 标签创建图片组件,如<image></image> 和<image src="/images/1.png" mode="aspectFit"></image> |
属性值 | - src 属性:指定图片源文件路径,如<image src="/images/1.png"> 。 - mode 属性:控制图片展示模式,如scaleToFill (默认,不保持纵横比缩放)、aspectFit (保持纵横比,长边完整显示)、aspectFill (保持纵横比,短边完整显示)、widthFix (宽度不变,高度自动变化)、heightFix (高度不变,宽度自动变化) |
适用场景 | 用于在页面上展示图片内容 |
注意点 | - 确保src 属性指向的图片路径正确。 - 根据需求选择合适的mode 属性值,避免图片显示效果不佳 |
案例:
实现如图显示图片效果并自行扩展mode的其他属性
- 【效果图】
- 【代码】
.wxml
<!-- image 组件的基本使用及 mode 属性 -->
<!-- 1.空图片 -->
<image></image>
<!-- 2.使用 src 指向图片路径 -->
<image src="/images/1.png" mode="aspectFit"></image>
.wxml解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
<!-- image 组件的基本使用及 mode 属性 --> |
这是一段注释内容,用于对下方代码的功能进行简要说明,告知后续查看代码的人这里主要展示的是关于image 组件的基本使用以及mode 属性的相关情况。 |
注释语法:在 HTML 以及微信小程序代码体系中,<!-- 和--> 之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。 |
<!-- 1.空图片 --> <image></image> |
这部分创建了一个image 组件实例,但没有指定图片的源文件路径(src 属性未设置),所以在页面上渲染时会呈现一个空的图片占位符效果,通常用于后续可能通过动态设置src 属性来加载具体图片的情况。 |
- <image> :微信小程序中的图片组件,用于在页面上展示图片内容。 |
<!-- 2.使用 src 指向图片路径 --> <image src="/images/1.png" mode="aspectFit"></image> |
创建了另一个image 组件实例,并通过设置src 属性为"/images/1.png" 指定了要加载展示的图片的路径,同时设置了mode 属性为"aspectFit" 。这会使得该图片按照aspectFit 模式进行展示,即保持图片的宽高比进行缩放,使其能够完整地放入图片组件所占据的空间内,可能会在水平或垂直方向上留有空白边距。 |
- <image> :同上述空图片部分的作用。 - src 属性:用于指定要加载展示的图片的源文件路径,这里明确指向了"/images/1.png" 这个图片文件。 - mode 属性:用于控制图片在image 组件内的展示模式,不同模式有不同的图片缩放和填充效果,aspectFit 模式能保证图片宽高比不变进行缩放以适应组件空间。 |
【补充:】
mode 属性值说明
mode 值 | 说明 |
---|---|
scaleToFill | (默认值)缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素。这意味着图片可能会被扭曲变形以适应容器的尺寸。 |
aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来,可完整地将图片显示出来。在这种模式下,图片会在保持原有比例的前提下尽可能大地显示在容器中,可能会在容器的短边方向上留下空白区域。 |
aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。此模式会使图片充满容器,但可能会裁剪掉部分图片内容以满足短边完全显示的要求。 |
widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。图片的宽度将固定为原始宽度,高度会根据容器的宽度和图片的宽高比自动调整。 |
heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变。与 widthFix 相反,图片的高度固定为原始高度,宽度会根据容器的高度和图片的宽高比自动调整。 |
.wxss
image {
/* 通过边框线证明 image 有默认的宽和高 */
border: 1px solid black;
}
.wxss解释:
代码片段 | 说明 | 涉及语法及作用 |
---|---|---|
image { /* 通过边框线证明 image 有默认的宽和高 */ border: 1px solid black; } |
这段代码是用于设置<image> 组件的样式。其目的是通过给<image> 组件添加一个 1px 宽的黑色实线边框,以此来直观地证明<image> 组件在未明确设置宽度和高度属性时,是存在默认的宽和高值的。 |
- 选择器image :这是一个标签选择器,用于选择页面上所有的<image> 组件元素。 - border 属性:用于设置元素的边框样式。这里设置的值为1px solid black ,其中1px 表示边框的宽度为 1 像素,solid 表示边框的样式为实线,black 表示边框的颜色为黑色。通过添加这样的边框,在页面上渲染时就可以看到<image> 组件所占据的空间范围,从而了解其默认的宽和高情况。 |