目标:能够使用列表标签实现网页中列表结构的搭建,能够使用表格标签及属性实现网页中表格结构的搭建,能够使用表单标签及属性实现表单类网页结构搭建,能够认识常见布局标签的显示特点,能够使用字符实体在网页中显示空格、大于号和小于号
一、列表标签
列表标签的应用场景:在网页中按照行展示关联性的内容,如:新闻列表、排行榜、账单等
特点:按照行的方式,整齐显示内容
种类:无序列表、有序列表、自定义列表
1.1无序列表
场景:在网页中表示一组无顺序之分的列表,如:新闻列表
标签组成:
标签名 | 说明 |
ul | 表示无序列表整体,用于包裹标签 |
li | 表示无序列表的每一项,用于包含每一行的内容 |
显示特点:列表的每一项前默认显示圆点标识
注意点:ul标签中只允许包含li标签,li标签可以包含任意内容
1.2有序列表
场景:在网页中表示一组有顺序之分的列表,如:排行榜。
标签组成:
标签名 | 说明 |
ol | 表示有序列表的整体,用于包裹标签 |
li | 表示有序列表的每一项,用于包含每一行的内容 |
显示特点:列表的每一项前默认显示序号标识
注意点:ol标签中只允许包含li标签,li标签可以包含任意内容
1.3自定义列表
场景:在网页的底部导航中通常会使用自定义列表实现
标签组成:
标签名 | 说明 |
dl | 表示自定义列表的整体,用于包裹dt/dd标签 |
dt | 表示自定义列表的主题 |
dd | 表示自定义列表针对主题的每一项内容 |
显示特点:dd前会默认显示缩进效果
注意点:dl标签中只允许包含dt/dd标签,dt/dd标签可以包含任意内容
总结:无序列表最常用,有序列表偶尔用,自定义列表底部导航用(一般位于网页底部)
<!--无序列表 -->
<ul>
<li>苹果</li>
<li>香蕉</li>
</ul>
<!-- 有序列表 -->
<ol>
<li>张三:100</li>
<li>李四:90</li>
<li>王五:80</li>
</ol>
<!-- 自定义列表 -->
<dl>
<dt>帮助中心</dt>
<dd>账户管理</dd>
<dd>购物指南</dd>
</dl>
运行结果为:
二、 表格标签
2.1表格的基本标签
使用场景:在网页中以行+列的单元格的方式整齐展示数据,如:学生成绩表
基本标签:
标签名 | 说明 |
table | 表格整体,可用于包裹多个tr |
tr | 表格每行,可用于包裹td |
td | 表格单元格,可用于包裹内容 |
注意点:标签的嵌套关系:table>tr>td
2.2表格相关属性
场景:设置表格基本展示效果
常见相关属性
属性名 | 属性值 | 效果 |
border | 数字 | 边框宽度 |
width | 数字 | 表格宽度 |
height | 数字 | 表格高度 |
注意点:实际开发时针对于样式效果推荐用CSS设置
2.3表格标题和表头单元格标签
场景:在表格中表示整体大标题和一列小标题
其他标签:
标签名 | 名称 | 说明 |
caption | 表格大标题 | 表示表格整体大标题,默认在表格整体顶部居中位置显示 |
th | 表头单元格 | 表示一列小标题,通常用于表格第一行,默认内部文字加粗并居中显示 |
注意点:caption标签书写在table标签内部,th标签书写在tr标签内部(用于替换td标签),表头单元格
2.4表格的结构标签
场景:让表格的内容结构分组,突出表格的不同部分(头部、主体、底部),使语义更加清晰。
结构标签:
标签名 | 名称 |
thead | 表格头部 |
tbody | 表格主体 |
tfoot | 表格底部 |
注意点:表格结构内部用于包裹tr标签,表格的结构标签可以省略,书写是为了方便和同事交互。
<table border="1" width="300" height="50">
<caption><strong>学生成绩单</strong></caption>
<thead>
<tr>
<th>姓名</th>
<th>成绩</th>
<th>评语</th>
</tr>
</thead>
<tbody>
<tr>
<td>小哥哥</td>
<td>100</td>
<td>优秀</td>
</tr>
<tr>
<td>小姐姐</td>
<td>100</td>
<td>优秀</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>总结</td>
<td>真棒</td>
<td>郎才女貌</td>
</tr>
</tfoot>
</table>
效果如下:
2.5合并单元格
场景:将水平或垂直多个单元格合并成一个单元格
合并单元格的步骤:
1.明确合并哪几个单元格
2.通过左上原则,确定保留谁删除谁
- 上下合并时,只保留最上的,删除其他
- 左右合并时,只保留最左的,删除其他
3.给保留的单元格设置:跨行合并(rowspan)或跨列合并(colspan)
属性名 | 属性值 | 说明 |
rowspan | 合并单元格的个数 | 跨行合并,垂直方向,合并将多行的单元格垂直合并 |
colspan | 合并单元的个数 | 跨列合并,水平方向将,多列的单元格水平合并 |
注意点:只有同一个结构标签中的单元格才能合并,不能跨结构标签合并(不能跨:thead、tbody、tfoot)
<table border="1" width="300" height="50">
<caption><strong>学生成绩单</strong></caption>
<thead>
<tr>
<th>姓名</th>
<th>成绩</th>
<th>评语</th>
</tr>
</thead>
<tbody>
<tr>
<td>小哥哥</td>
<td rowspan="2">100</td>
<td>优秀</td>
</tr>
<tr>
<td>小姐姐</td>
<td>优秀</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>总结</td>
<td colspan="2">郎才女貌</td>
</tr>
</tfoot>
</table>
效果如下:
三、表单标签
3.1input系列标签
场景:在网页中显示收集用户信息的表单效果,如:登录页、注册页
标签名 input (可以通过type属性值的不同,展示不同效果)
知识补充:value属性和name属性作用介绍
value属性:用户输入的内容,提交之后会发送给后端服务器
name属性:当前控件的含义,提交之后可以告诉后端发送过去的数据是什么含义
后端接收到数据的格式是:name的属性值=value的属性值
3.1.1input系列标签——文本框
场景:在网页中显示输入单行文本的表单控件
type属性值:text
常用属性:placeholder:占位符,提示用户输入内容的文本
3.1.2input系列标签——密码框
场景:在网页中显示输入密码的表单控件
type属性值:password
常用属性:placeholder:占位符,提示用户输入内容的文本
注意点:type属性值不要拼音或者多加空格,否则相当于设置了默认状态值:text→文本框
3.1.3input系列标签——单选框
场景:在网页中显示多选一的单选表单控件
type属性值:radio
常用属性:
name:分组,有相同name属性值的单选框为一组,一组中同时只能有一个被选中
checked:默认选中
注意点:name属性对于单选框有分组功能,有相同name属性值的单选框为一组,一组中只能同时有一个被选中
3.1.4input系列标签——复选框
场景:在网页中显示多选多的多选表单控件
type属性值:checkbox
常用属性:checked:默认选中
3.1.5input系列标签——文件选择
场景:在网页中显示文件选择的表单控件
type属性值:file
常用属性:multiple:多文件选择
3.1.6input系列标签——按钮
场景:在网页中显示不同功能的按钮表单控件
type属性值:
标签名 | type属性值 | 说明 |
input | submit | 提交按钮,点击之后提交数据给后端服务器 |
input | reset | 重置按钮,点击之后恢复表单默认值 |
input | button | 普通按钮,默认无功能,之后配合js添加功能 |
注意点:如果需要实现以上按钮功能,需要配合form标签使用,其使用方法为用form标签把表单标签一起包裹起来即可
<!-- 需要实现以下按钮功能,需要配合form标签使用,其使用方法为用form标签把表单标签一起包裹起来即可,action对应后台地址 -->
<form action="">
<!-- 写什么就显示什么,placeholder为占位符,提示用户输入内容的文本 -->
文本框: <input type="text" placeholder="请输入用户名">
<br>
<!-- 书写的内容都会变成点点显示 -->
密码框: <input type="password" placeholder="请输入密码">
<br>
<!-- name属性对其进行分组,一组中同时只能有一个被选中,checked为默认被选中 -->
单选框:<input type="radio" name="sex">男<input type="radio" name="sex" checked>女
<br>
多选框: 电影<input type="checkbox">音乐<input type="checkbox">
<br>
<!-- multiple属性可以同时选中多个文件 -->
上传文件: <input type="file" multiple>
<br>
<input type="submit" value="免费注册">
<input type="reset">
<input type="button" value="普通按钮">
</form>
显示效果如下:
3.2button按钮标签
场景:在网页中显示用户点击的按钮
标签名:button
type属性值(同input的按钮系列):
标签名 | type属性值 | 说明 |
button | submit | 提交按钮,点击之后提交数据给后端服务器 |
button | reset | 重置按钮,点击之后恢复表单默认值 |
button | button | 普通按钮,默认无功能,之后配合js添加功能 |
注意点:谷歌浏览器中button默认为提交按钮,button标签是双标签,更便于包裹其他内容:文字、图片等
<button>我是按钮</button>
<button type="submit">提交按钮</button>
<button type="reset">重置按钮</button>
<button type="button">普通按钮, 没有任何功能</button>
3.3select下拉菜单标签
场景:在网页中提供多个选择项的下拉菜单表单控件
标签组成:
- select标签:下拉菜单的整体
- option标签:下拉菜单的每一项
常见属性:selected:下拉菜单的默认选中
<select>
<option>北京</option>
<option>上海</option>
<!-- 若不使用selected,则默认第一个option选项,需要人为默认时,添加即可-->
<option selected>深圳</option>
</select>
3.4textarea文本域标签
场景:在网页中提供可输入多行文本的表单控件
标签名:textarea
常见属性:cols:规定了文本域内可见宽度,rows:规定了文本框内可见行数
注意点:右下角可以拖拽改变大小,实际开发时针对于样式效果推荐CSS设置
<textarea cols="30" rows="10"></textarea>
<!-- 在实际开发中,不使用这里的cols和rows,而是使用CSS进行设置 -->
3.5label标签
场景:常用于绑定内容与表单标签的关系
标签名:label
使用方法:
方法一:
1.使用label标签把内容(如:文本)包裹起来
2.在表单标签上添加id属性
3.在label标签的for属性中设置对应的id属性值
方法二:
1.直接使用label标签把内容(如:文本)和表单标签一起包裹起来
2.需要把label标签的for属性删除即可
性别:
<input type="radio" name="sex" id="nan"><label for="nan">男</label>
<label><input type="radio" name="sex">女</label>
实现的功能是:点击“男”或者“女”即可选中
四、语义化标签
4.1没有语义的布局标签
场景:实际开发网页时会大量频繁的使用到div和span这两个没有语义的布局标签
div标签:一行只显示一个(独占一行)
span标签:一行可以显示多个
4.2有语义的布局标签
场景:在HTML5新版本中,推出了一些有语义的布局标签供开发者使用(主要面向手机端的设计)
标签:
注意点:以上标签显示特点和div一致,但是比div多了不同的语义
普通文字
<!-- 没有语义的布局标签,div是独占一行,span是一行可以显示多个 -->
<div>这是div标签</div>
<div>这是div标签</div>
<span>这是span标签</span>
<span>这是span标签</span>
<!-- 手机端网页,有语义的布局标签,单独显示一行 -->
<header>网页头部</header>
<nav>网页导航</nav>
<footer>网页底部</footer>
<aside>侧边栏</aside>
<section>网页区块</section>
<article>文章</article>
显示效果如下:
五、字符实体
5.1HTML中的空格合并现象
场景:如果在HTML代码中同时并列出现多个空格、换行、缩进等,最终浏览器只会解析出一个空格
5.2常见字符实体
场景:在网页中展示特殊符号效果时,需要使用字符实体替代(这里只需要记住空格就行)
结构:&英文;
常见字符实体:
<!-- 网页不认识多个空格, 只认识一个 -->
这是HTML文档, 现在要学 习字符实体.
六、综合案例
6.1综合案例1:优秀学生信息表格
<table border="1" width="500" height="300">
<caption><h3>优秀学生信息表格</h3></caption>
<tr>
<th>年级</th>
<th>姓名</th>
<th>学号</th>
<th>班级</th>
</tr>
<tr>
<td rowspan="2">高三</td>
<td>迪丽热巴</td>
<td>110</td>
<td>三年二班</td>
</tr>
<tr>
<td>古力娜扎</td>
<td>120</td>
<td>三年三班</td>
</tr>
<tr>
<td>评语</td>
<td colspan="3">你们很优秀</td>
</tr>
</table>
6.2综合案例2:会员注册表单
<h1>青春不常在,抓紧谈恋爱</h1>
<hr>
<form action="">
昵称: <input type="text" placeholder="请输入昵称">
<br>
<br>
性别:
<label><input type="radio" name="sex" checked> 男</label>
<label><input type="radio" name="sex"> 女</label>
<br><br>
所在城市:
<select>
<option>北京</option>
<option selected>上海</option>
<option>广州</option>
</select>
<br>
<br>
喜欢的类型:
<label><input type="checkbox" checked> 可爱</label>
<label><input type="checkbox" checked> 性感</label>
<label><input type="checkbox"> 御姐</label>
<br>
<br>
个人介绍: <br>
<textarea name="" id="" cols="60" rows="10"></textarea>
<h3>我承诺</h3>
<ul>
<li>年满18岁、单身</li>
<li>年满18岁、单身</li>
<li>年满18岁、单身</li>
</ul>
<!-- 按钮: input button -->
<input type="submit" value="免费注册">
<button type="reset">重置</button>
</form>