跟随黑马学前端-4,HTML标签
Joker2Yue第四天:HTML标签
低头快步,抬头看路
学习目标
-
能够书写表格
-
能够写出无序列表
-
能够写出3~4个常用input表单类型
-
能够写出下拉列表表单
-
能够使用表单元素实现注册页面
-
能够独立查阅W3C文档
表格标签
表格是实际开发中非常常用的标签
-
表格的主要作用
表格主要用于显示、展示数据,因为它可以让数据显示的非常规整,可读性非常好,特别是后台展示数据的时候,能够熟练的运用表格就显得很重要,一个清爽简约的表格能够件繁杂的数据表现得很有条理
-
表格的基本语法
-
标签
<table> </table>
是用于定义表格的标签<tr> </tr>
标签定义表格中的行,必须嵌套在<table> </table>
标签中<td> </td>
是表格中的单元格,必须嵌套在<tr></tr>
标签中字母td表示表格数据(table data),即数据单元格的内容
1
2
3
4
5
6
7
8<table>
<tr>
<td>姓名</td><td>性别</td><td>年龄</td>
</tr>
<tr>
<td>佚名</td><td>未知</td><td>未知</td>
</tr>
</table>快捷输入:比如我们需要输入一个5行3列的单元格。可以输入
table>tr*5>td*3
,然后按Tab -
表头单元格
<th> </th>
表头1
2
3
4
5
6
7
8<table>
<tr>
<th>姓名</th><th>性别</th><th>年龄</th>
</tr>
<tr>
<td>佚名</td><td>未知</td><td>未知</td>
</tr>
</table>
-
表格属性
属性名 | 属性值 | 描述 |
---|---|---|
align | left,center,right | 规定表格相对周围元素的对齐方式 |
border | 1或“” | 规定表格单元格是否拥有边框,默认为“”,表示没有边框 |
cellpadding | 像素值 | 规定单元格边缘与内容和之间的空白,默认1像素 |
cellspacing | 像素值 | 规定单元格之间的空白,默认1像素 |
width | 像素值或百分比 | 规定表格的宽度 |
height | 像素值或百分比 | 规定表格的高度 |
1 | <!-- 页面居中显示表格,显示边框,字体内容和边框间距为20像素,关闭单元格之间的空隙,设置单元格宽为500像素 --> |
单元格内可以放任何东西,网址或图片都可以
表格结构标签
使用场景:可能因为表格过长,为了更好的显示表格的语义,可以将表格分割成表格头部和表格主体两大部分,在表格标签中,分别用:<thead>
(表格的头部区域),<tbody>
(表格的主体区域)。这样可以更好的分清楚表格结构
1 | <!-- 页面居中显示表格,显示边框,字体内容和边框间距为20像素,关闭单元格之间的空隙,设置单元格宽为500像素 --> |
这样写的话可以更加清晰的区分表头和表体。以上两个标签都是放在<table></table>
中的
合并单元格
特殊情况下,我们可以将多个单元格合并成一个单元格
-
合并单元格方式
跨行合并:rowspan=“合并单元格的个数” (比如将第二行和第三行合并)
跨列合并:colspan=“合并单元格的个数” (比如将第二列和第三列合并)
目标单元格:(写合并代码)
-
跨行:最上侧单元格为目标单元格,写合并代码
-
跨列:最左侧单元格为目标单元格,写合并代码
合并单元格三部曲:
-
先确定是跨行还是跨列合并
-
找到目标单元格,写上合并方式 = 合并单元格数量。比如:
<tdcolspan = "2"> </td>
-
删除多余的单元格
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<!-- 设置跨行和跨列-->
<table width="500" height="249" border="1" cellspacing="0">
<tr>
<td></td>
<td colspan="2"></td>
</tr>
<tr>
<td rowspan="2"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
-
列表标签
如果说表格是用来展示数据的,那么列表就是用来布局的
列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便
根据使场景不同,我们可以将列表分为三大类:无序列表、有序列表、自定义列表
无序列表(重点)
<ul>
unordered list标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>
标签定义
无序列表的基本语法如下:
1 | <ul> |
注意事项:
-
无序列表的各个列表项之间是没有顺序级别之分的,是并列的
-
<ul>/<ul>
中只能嵌套<li></li>
,直接在<ul></ul>
标签中输入其他标签或文字的做法是不允许的 -
<li>
与</li>
之间相当于一个容器,可以容纳所有元素 -
无序列表带有自己的样式属性,但在实际使用中,我们会用css来设置
有序列表
有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序进行排列定义
在HTML中,我们可以通过<ol>
ordered list标签进行无序列表的定义,列表排序以数字来显示,并且通过<li>
标签来定义列表项
语法与无序列表几乎相同:
1 | <ol> |
注意事项与无序列表几乎相同,不再赘叙
自定义列表(重点)
使用场景:
-
对术语的或名词进行解释或者描述,定义列表的列表项没有任何项目符号
定义方法:
在HTML标签中,<dl></dl>
标签用于定义描述列表(或定义列表),该标签会与<dt>
(定义项目/名字)和<dd>
(描述每一个项目/名字)一起使用
基本语法:
1 | <dl> |
-
<dl></dt>
里面只能包含<dt>
和<dd>
-
<dt>
和<dd>
没有个数限制,经常是一个<dt>
对应多个<dd>
-
<dt>
和<dd>
不是包含关系,他们是并列的
表单标签
-
比如说注册界面
为什么需要表单:为了收集用户信息
表单的组成:
在HTML中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息3部分组成
表单域
表单域是一个包含表单元素的区域,在HTML标签中,<form>
用于定义表单域,以实现用户信息的收集和传递。
<form>
会把它范围类的表单元素信息提交给服务器
表单基本语法如下:
1 | <form action="url地址" method="提交方式" name="表单域名称"> |
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单元素的服务器程序的url地址 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或者post |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单域 |
我们暂时不需要学习细节的提交原理(因为没学服务器)
表单控件(表单元素)
在表单域中我们可以自定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。
-
input 输入表单元素
在英文单词中,input是输入的意思,而在表单元素中,
<input>
标签用于收集用户信息在
<input>
标签中,包含一个type属性,根据不同的type属性值,输入字段拥有很多种格式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等) 基本语法:
1
<input type = "属性值" />
-
<input/>
标签为单标签 -
type属性设置不同的属性值用来指定不同的控件类型
| 属性值 | 描述 |
| -------- | ------------------------------------------------------------ |
| button | 定义可点击的按钮(多数情况下,用于通过JavaScript启动脚本) |
| checkbox | 定义复选框 |
| file | 定义输入字符和“浏览”按钮,供文件上传 |
| hidden | 定义隐藏的输入字段 |
| image | 定义图像形式的提交按钮 |
| password | 定义密码字段,该字段中的字符将被掩码 |
| radio | 定义单选按钮 |
| reset | 定义重置按钮,将会清除表单中所有数据 |
| submit | 定义提交按钮,将会将表单数据发送给服务器 |
| text | 定义单行的输入字段,用户可以在其中输入文本,默认宽度为20字符 | -
除了type属性,
<input>
标签还有其他很多属性,其常用属性如下:| 属性 | 属性值 | 描述 |
| --------- | ------------ | ----------------------------------- |
| name | 由用户自定义 | 定义input元素的名称 |
| value | 由用户自定义 | 规定input元素的值 |
| checked | checked | 规定此input元素首次加载时应当被选中 |
| maxlength | 正整数 | 规定输入字段中字符的最大长度 |-
name和value是每个表单元素都有的属性值,主要给后台人员使用
-
name是表单元素的名字,要求单选按钮和复选框要有相同的name值
-
button 一般不提交数据,通常与JavaScript联用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29<form action="demo.php" method="get" name="1">
<!-- text 文本框 用户可以在里面输入任何文字 -->
<!-- value 值 设置默认选项,文本框中需要用户手动删除再输入-->
用户名:<input type="text" name="user_name" value="请输入用户名"><br />
<!-- password 密码 用户在里面输入的文字将被隐藏 -->
<!-- maxlength 设置输入文本的最大长度 我们将密码的最大长度设置为12-->
密码:<input type="password" name="pwd" maxlength="12"><br />
<!-- radio 单选按钮 可以实现多选-->
<!-- name是表单元素名字,这里性别单选按钮应当有相同的名字name,才可以实现多选1-->
<!-- checked 可以用于单选和复选框,当页面打开时,将会自动勾选 比如这里自动勾选性别为女性-->
性别: 男<input type="radio" name="sex" value="男">
女<input type="radio" name="sex" value="女" checked="checked"><br />
<!-- checkbox 复选按钮 后面的选项都能选择-->
<!-- 在radio和checkbox中的value值,是提供给后台的 -->
爱好: 吃饭<input type="checkbox" name="hobby" value="吃饭"> 睡觉<input type="checkbox" name="hobby" value="睡觉">
<br/>
<!-- submit 提交按钮 可以把表单域form中的表单元素里面的值 提交给后台服务器 -->
<input type="submit" value="确认注册">
<!-- reset 重置按钮 可以将表单域中的所哟数据重置-->
<input type="reset" value="重置表单">
<!-- button 普通按钮,通过javaScript启动脚本,触发某种事件-->
<input type="button" value="获取短信验证码">
<!-- file 文件域 使用场景:上传文件-->
<input type="file" value="上传头像">
</form>
-
-
label标签
-
<label>
标签为input元素定义标注(标签) -
<label>
标签用于绑定一个表单元素,当点击<label>
标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验 -
核心:
<label>
标签的for属性应与相关元素的id属性相同
-
-
-
select 下拉表单元素
使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用
<select>
控件控制下拉列表语法:
1
2
3
4
5
6<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
<option>...</option>
</select>-
<select>
至少包含一对<option>
-
在
<option>
中定义selected = "selected"时,当前选项为默认选中项1
2
3
4
5
6
7
8
9<form>
籍贯:
<select>
<option>地球</option>
<option selected="selected">火星</option>
<option>水星</option>
<option>...</option>
</select>
</form>
-
-
textarea 文本域元素
与文本框不同,文本框只能写入一行数据,而文本域能够写入多行数据
在表单元素中,
<textarea>
标签是用于定义多行文本输入的控件使用多行文本输入控件时,可以输入更多的文字,该控件常见于留言板、评论
语法规范:
1
2
3
4文字头
<textarea>
默认文本
</textarea>-
通过
<textarea>
标签可以轻松的创建多行文本输入框 -
cols=“每行中的字符数”,rows=“显示的行数”
1
2
3
4
5
6<form>
今日反馈:
<textarea cols="50" rows="5">
你可以在这里写下你的反馈
</textarea>
</form> -
应用实践
1 | <!-- |