子们,来了。
这一章继续继续,讲解小程序的常见组件(7)— radio单选框。
它与网页的单选框用法是大致相同的,但是有2个细节需特别注意。
1、可以通过 color属性来修改颜色
如上图,"选中"图标被选中时,默认样式是呈现绿色,这里可以通过 color属性来修改颜色。
2、当需要选中某个单选框,触发某一事件时,需和radio group 一起使用。
啥意思呢?看不懂?
别急,我们用一个需求来讲讲就懂了。
需求:创建男,女两个标签,当选中一个时,在图标下方显示文字"你选中的为男/女"
撸起袖子加油干:
1、新建一个页面 demo15
2、打开demo15.wxml 文件,删除原先的代码,写入如下代码:
<radio-group bindchange=" ">
<radio color="red" value="male">男</radio>
<radio color="red" value="female" >女</radio>
</radio-group>
3、保存,小程序界面显示男,女两标签。
点击男/女标签,图标出现红色选中,但没有提示文字。
别着急,我们慢慢来。
4、给radio-group 绑定change 事件,修改代码成如下:
(与上面代码神似,注意观察啊)
<radio-group bindchange="handlechange">
<radio color="red" value="male">男</radio>
<radio color="red" value="female" >女</radio>
</radio-group>
5、在demo15.wxml中,加上view标签,用来显示页面中显示的值,代码如下:
<radio-group bindchange="handlechange">
<radio color="red" value="male">男</radio>
<radio color="red" value="female" >女</radio>
</radio-group>
<view>您选中的是:{{gender}}</view>
保存后,小程序页面选中某个图标后,出现提示文字。
6、在demo15.js文件中,写入页面逻辑的代码。
首先先删除原先的代码,只保留data部分。
写入如下代码(内含每步的注释):
Page({
data: {
gender: ""
},
handleChange(e){
// 1 获取单选框中的值
let gender=e.detail.value;
// 2 把值 赋值给 data中的数据
this.setData({
// gender:gender
gender
})
}
})
保存后,小程序显示如下,选中某一个图标,下面就会有提示文字。
我们的需求实现了。
以上步骤很好的解释了radio 单选框的第2个细节:
当需要选中某个单选框,触发某一事件时,需和radio group 一起使用。
还有第一个细节:radio的颜色属性。
我们演示一下:
很简单,只需一步就搞定。
修改demo15.wxml文件中 radio color 的部分,
这里将原先的红色修改为 绿色(green),其余不变。
代码如下:
<radio-group bindchange="handlechange">
<radio color="green" value="male">男</radio>
<radio color="green" value="female" >女</radio>
</radio-group>
<view>您选中的是:{{gender}}</view>
保存后,图标被选中后的颜色发生了变化:
到这里,我们的第一个小细节也演示完了。
单选框的用法基本就这两点与网页中的单选框的使用不同,其余具体知识点,请移步官方文档。
快门传送:https://developers.weixin.qq.com/miniprogram/dev/component/radio.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
/*总体的样式*/
<style>
/*盒子样式*/
#box{
width: 350px; //宽
height: 450px; //高
border: 1px solid black; //边框
border-radius: 10px; //边框弧度
font-family: 黑体; //字体
letter-spacing:8px; //段间距
word-spacing: 10px; //字间距
line-height: 40px; //行高
font-size: 18px; //字大小
padding: 20px; //内边框
}
/*给'注册'赋予样式*/
.register{
width:280px ; //宽
height: 50px; //高
background-color: skyblue; //背景颜色
border-radius: 10px; //边框弧度
}
/*将所有边框都改变*/
*{
border-radius: 5px; 边框弧度
}
/*使用class选择器,赋予number宽高和边框*/
.number{
width: 185px; //宽
height: 27px; //高
border-width: 1px; //边框宽度
}
/*id选择器*/
#two{
width: 55px; //宽
border-width: 1px; 边框宽度
}
/*id选择器*/
#phone{
width: 103px; //宽
}
/*class 选择器*/
.boxs{
zoom: 75%; //清除浮动
color: darkgray; //颜色
}
/*class选择器*/
.box_a{
width: 50px; //宽
height: 50px; //高
background-image: url("../image/04.jpg "); //背景图片
background-repeat: no-repeat; // 是否平铺
background-size: 50px 25px; //背景尺寸
position: relative; //定位 相对定位
left: 310px; //定位后左移
bottom: 32px; //定位后下移
}
</style>
</head>
<body>
<div id="box">
<h1>请注册</h1>
<p style="color: darkgray">已有帐号?<a href="https://im.qq.com/index">登录</a></p>
<form action="" method="post">
<label for="name">用户名</label>
<input type="text" placeholder="请输入用户名" id="name" class="number"> <br>
<label for="phone">手机号</label>
<select name="" id="two" class="number">
<optgroup>
<option style="" class="">+86</option>
</optgroup>
</select>
<input type="text" placeholder="请输入手机号" id="phone" class="number"> <br>
<label for="mima">密 码</label>
<input type="password" placeholder="请输入密码" id="mima" class="number"> <br>
<label for="mima">验证码</label>
<input type="password" placeholder="请输入验证码" id="is" class="number">
<div class="box_a"></div>
<div class="boxs">
<input type="radio" id="" class="accept">阅读并接受协议<br>
</div>
<input type="submit" value="注册" class="register" >
</form>
</div>
</body>
</html>
在这里插入图片描述
个人学习总结输出,持续更新。Day day study!Day day up!
这里的元素大多数是普通元素。此处的普通指的是:几乎没有自己特殊的属性,只指定通用属性和各种事件属性。
基本元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>标题1</h1> <h2>标题2</h2> <h3>标题3</h3> <h4>标题4</h4> <h5>标题5</h5> <h6>标题6</h6> <p> <span> 其后无br </span> <span> 其后有br </span> <br> <span> 其后有hr </span> <hr> <span> 其后有div </span> <div id=""> 一般p内不包含div,div内可包含一切,所以以往大量使用,造成了语义化不明确。 </div> </p> </body> </html>
文本格式相关元素
<p> <b>b加粗</b><strong>strong加粗</strong>正常 <small>缩小</small>2<sup>2</sup>a<sub>2</sub> <hr > <bdo dir="ltr">左向右</bdo> <hr > <bdo dir="rtl">左向右</bdo> </p>
旧的语义相关元素
<p> <abbr title="中华人民共和国">中国</abbr> <address>西安市雁塔区幸福小区3单元403室</address> <cite>作品标题</cite> <blockquote cite="www.baidu.com">表示长文本引用。通常带有`cite`属性指定出处(可以使url)</blockquote> <q>表示短文本引用。</q> <code> let tempDom=document.querrySelect('#id'); dom.hidden=true; </code> <dfn>牛顿第三定理:</dfn> <br> <del>待删除线文本。通常带有`cite`属性指定原因、通常带有`datetime`属性标注修改时间</del> <br> <ins>表示插入的文本。常带有`cite`属性指定原因、通常带有`datetime`属性标注修改时间</ins> <pre>/\'''"""</pre> <samp>示范文本。</samp> <kbd>ctrl</kbd> <var>i</var> </p>
H5新增语义元素
这是一个<mark>重点</mark> <time pubdate="true" datetime="2019-10-14 22:05">2019-10-14 22:05</time> <details> <summary>摘要</summary> 这是详情、、、、 </details> <ruby> <rb>饕</rb> <rp>(</rp> <rt>tao</rt> <rp>)</rp> <rb>餮</rb> <rp>(</rp> <rt>tie</rt> <rp>)</rp> </ruby>
H5新增结构元素
没啥好说的,见名知其意,解决以前全用div语义化缺失的问题。
看到这里了,关注吧,由浅入深,持续更新一起学习进步。如果有什么建议和补充,请积极评论。
*请认真填写需求信息,我们会在24小时内与您取得联系。