HTML
1 开发文档
W3C 官网: https://html.spec.whatwg.org/multipage/
W3Cscholl:https://www.w3cschool.cn/htmltags/
MDN: https://developer.mozilla.org/zh-CN/docs/Web/HTML
2 排版标签
标签名 | 语义和功能 | 属性 | 单标签还是双标签 |
---|---|---|---|
h1 ~ h6 | 一级标题~六级标题 | 无 | 双标签 |
p | 段落 | 无 | 双标签 |
hr | 分隔线 | 无 | 单标签 |
br | 换行 | 无 | 单标签 |
pre | 原格式显示 | 无 | 双标签 |
div | 无语义,用于页面布局 | 无 | 双标签 |
3 文本标签
标签名 | 语义和功能 | 属性 | 单标签还是双标签 |
---|---|---|---|
em | 强调,默认表现斜体字 | 无 | 双标签 |
strong | 强调,默认表现粗体字 | 无 | 双标签 |
ins | 表示增加的内容,默认添加下划线 | 无 | 双标签 |
del | 表示删除的内容,默认添加删除线 | 无 | 双标签 |
sub | 下标字 | 无 | 双标签 |
sup | 上标字 | 无 | 双标签 |
span | 无语义,配合CSS给文字设置样式 | 无 | 双标签 |
4 图片
4.1 img 标签
标签名 | 语义和功能 | 属性 | 单标签还是双标签 |
---|---|---|---|
img | 引入图片 | src:设置图片地址。 alt:设置图片替代文字。 width:设置宽度。 height:设置高度 |
单标签 |
总结:
1. alt 设置图片替代文字,当图片无法正常显示,显示alt中的文字
2. 如果单独设置宽度或者高度,另一个方向根据比例自动计算。同时设置宽高容易导致图片拉伸失真。
4.2 常见的图片格式
jpg / jpeg
png
gif
bmp
webp
...
4.3 base64 图片
1. 本质:一串特殊的文本,要通过浏览器打开,传统看图应用通常无法打开。
2. 原理:把图片进行 base64 编码,形成一串文本。
3. 如何生成:靠一些工具或网站。
4. 如何使用:直接作为 img 标签的 src 属性的值即可,并且不受文件位置的影响。
5. 使用场景:一些较小的图片,或者需要和网页一起加载的图片。
base64编码工具: https://tool.chinaz.com/tools/imgtobase/
5 相对路径和绝对路径
当前文件: html代码所在的文件
目标文件: 被引用的文件
5.1 绝对路径
网络绝对路径: 目标文字在万维网上的绝对地址,如 https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
,前端开发主要使用网络绝对路径。
本地绝对路径: 目标文字在计算上的绝对地址, 如 D:\Library\SH230320\Day02_HTML\课堂案例\02-图片标签\铭哥工作照.jpg
,后端开发主要使用本地绝对路径。
5.2 相对路径
./ 当前目录(当前文件所在的目录), ./可以省略
如果目标文件在同级或者下级
../ 上级目录(当前文件的上级目录)
如果目标文件在上级或者先进入上级再访问所在目录
../../ 上上级
../../../ 上上上级
5.3 HTML 中使用路径的场景
1. img 标签引入图片
2. 超链接设置目标文件
3. video 标签引入视频
4. audio 标签引入音频
5. iframe 标签引入各种类型的文件
6. link 标签关联 css 文件
7. script 标签引入 js 文件
...
6 超链接和锚点
6.1 a 标签
标签名 | 语义和功能 | 属性 | 单标签还是双标签 |
---|---|---|---|
a | 超链接 | href:设置目标文件地址。 target:设置目标文件在哪个窗口打开 |
双标签 |
总结:
target 属性设置目标文件在哪个窗口打开,默认值是 _self,表示本窗口打开;可以设置为 _blank, 表示新窗口打开
6.2 超链接
① 目标文件是网页
<a href="https://www.163.com/news/article/I0ELH95T000189FH.html">一篇新闻</a> <br>
<a href="../03-相对路径练习/pages/index.html">相对路径练习</a>
② 目标文件是网页以外的其他类型文件
<a href="./resouces/小乐老师的业余生活.jpg">[图片]小乐老师的业余生活</a> <br>
<a href="./resouces/如何30岁之前走上人生巅峰.pdf">[pdf]如何30岁之前走上人生巅峰</a> <br>
<a href="./resouces/小乐老师的性福生活.mp4">[视频]小乐老师的性福生活</a> <br>
<a href="./resouces/如何拥有百亿资产.docx">[word文件]如何拥有百亿资产</a> <br>
<a href="./resouces/小乐老师的私房照片.7z">[压缩文件]小乐老师的私房照片</a>
目标文件分为两种:
浏览器能够打开: 点击超链接,浏览器直接打开,如网页文件、图片文件、视频文件、pdf文件等
浏览器无法打开: 点击超链接,直接下载
③ 超链接唤起指定应用
<a href="tel:10086">打电话</a> <br>
<a href="sms:10010">发短信</a> <br>
<a href="mailto:fuming@atguigu.cn">发邮件</a>
④ href 的值是空的点击刷新
<a href="">刷新</a>
6.3 锚点
① 如何设置锚点
给标签设置一个ID属性,该标签就成为一个锚点,ID的属性值就是锚点的名字
<div id="锚点名"></div>
<p id="锚点名"></p>
<hr id="锚点名">
② 如何跳转到锚点(通过超链接跳转到锚点)
<!-- 跳转到本页面的锚点 -->
<a href="#锚点名"></a>
<!-- 跳转到其他页面的锚点 -->
<a href="页面地址#锚点名"></a>
<!-- 跳转到页面顶部 -->
<a href="#"></a>
6 列表
6.1 无序列表
文字无序列表:
<ul>
<li>HTML 超文本标记语言</li>
<li>CSS 层叠样式表</li>
<li>JavaScript 浏览器端脚本语言</li>
</ul>
超链接无序列表:
<ul>
<li>
<a href="#">感悟习近平主席俄罗斯之行的“历史逻辑”</a>
</li>
<li>
<a href="#">携手向未来!习近平谈构建人类命运共同体</a>
</li>
<li>
<a href="#">镜观·领航|命运与共 携手建设更加美好的世界</a>
</li>
<li>
<a href="#">总台“中国式现代化与世界新机遇”阿联酋专场研讨会在阿布扎比成功举办</a>
</li>
</ul>
嵌套无序列表:
<ul>
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">论坛</a>
</li>
<li>
<a href="#">关于我们</a>
<ul>
<li>
<a href="#">联系我们</a>
</li>
<li>
<a href="#">加入我们</a>
</li>
<li>
<a href="#">举报我们</a>
</li>
</ul>
</li>
<li>
<a href="#">商城</a>
</li>
<li>
<a href="#">博客</a>
</li>
</ul>
无序列表可以用于表示一组相关的内容,如新闻列表、文章列表、商品列表、导航 等
6.2 有序列表
<ol>
<li>高小乐</li>
<li>比尔盖茨</li>
<li>巴菲特</li>
<li>索罗斯</li>
<li>马云</li>
</ol>
有序列表可以用于排序类的列表,如排行榜等。
6.3 定义列表
<!--
一个dt对应一个dd
-->
<dl>
<dt>HTML</dt>
<dd>超文本标记语言</dd>
<dt>CSS</dt>
<dd>层叠样式表</dd>
<dt>JavaScript</dt>
<dd>浏览器端脚本语言</dd>
</dl>
<!--
一个dt对应多个dd
-->
<dl>
<dt>如何掌握一个HTML标签?</dt>
<dd>该标签的语义功能</dd>
<dd>该标签的属性以及属性值如何设置</dd>
<dd>该标签是单标签还是双标签</dd>
</dl>
6.4 列表标签总结
标签名 | 功能和语义 | 属性 | 单标签还是双标签 |
---|---|---|---|
ul | 无序列表包裹元素 | 双标签 | |
ol | 有序列表包裹元素 | 双标签 | |
li | 列表项 | 双标签 | |
dl | 定义列表包裹元素 | 双标签 | |
dt | 定义列表项标题 | 双标签 | |
dd | 定义列表项描述 | 双标签 |
注意:
li 必须被 ul 或者 ol 直接包裹!
7 表格标签
7.1 表格的结构
table
caption
thead
tr
td/th
....
tr
...
tbody
tr
td/th
...
tr
...
tfoot
tr
td/th
...
tr
...
<table border="1">
<!-- 表格标题 -->
<caption>用户信息表</caption>
<!-- 表格头 -->
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>电话</th>
<th>地址</th>
</tr>
</thead>
<!-- 表格体 -->
<tbody>
<tr>
<td>1</td>
<td>曹操</td>
<td>男</td>
<td>13378652389</td>
<td>上海市松江区</td>
</tr>
<tr>
<td>2</td>
<td>刘备</td>
<td>男</td>
<td>13378652388</td>
<td>上海市浦东区</td>
</tr>
<tr>
<td>3</td>
<td>高小乐</td>
<td>男</td>
<td>13378652387</td>
<td>上海市松江区</td>
</tr>
<tr>
<td>4</td>
<td>孙悟空</td>
<td>男</td>
<td>13378652386</td>
<td>上海市黄浦区</td>
</tr>
</tbody>
<!-- 表格脚 -->
<tfoot></tfoot>
</table>
7.2 表格整体样式设置
给 table 标签设置如下属性:
width: 设置宽度
height: 设置高度
cellspacing: 设置单元格之间的间距
cellpadding: 设置单元格内补白(边框与内容的间距)
border: 设置边框边框
7.3 设置单元格宽高
给 td、th 设置 width 和 height 属性:
给 td、th 设置 width 相当于设置列宽
给 td、th 设置 height 相当于设置行高
给 tr 和 td 设置 height 有什么区别:
给 th、td 设置height,实际行高会在设置的高度的基础上加上上下的 cellpadding
给 tr 设置 height 就是总行高
7.4 设置单元格中内容对齐方式
设置单元格内容横向对齐方式:
给 thead、tbody、tfoot 设置 align 属性,属性的值: left、right、center,所包裹的单元格都会生效
给 tr 设置 align 属性,属性的值: left、right、center,所包裹的单元格都会生效
给 td、th 设置 align 属性,属性的值: left、right、center,本单元格会生效
设置单元格内容纵向对齐方式:
给 thead、tbody、tfoot 设置 valign 属性,属性的值: top、bottom、middle,所包裹的单元格都会生效
给 tr 设置 valign 属性,属性的值: top、bottom、middle,所包裹的单元格都会生效
给td、th 设置 valign 属性,属性的值: top、bottom、middle,本单元格会生效
7.5 单元格跨行和跨列(重要)
给 td、th 设置属性:
rowspan: 设置所跨行数
colspan: 设置所跨列数
7.6 表格标签总结
标签名 | 功能和语义 | 属性 | 单标签还是双标签 |
---|---|---|---|
table | 表格包裹元素 | width height cellspacing cellpadding border | 双标签 |
caption | 表格标题 | 双标签 | |
thead | 表格头 | align valign | 双标签 |
tbody | 表格体 | align valign | 双标签 |
tfoot | 表格脚 | align valign | 双标签 |
tr | 行 | height align valign | 双标签 |
td | 单元格 | width height align valign colspan rowspan | 双标签 |
th | 表头单元格 | width height align valign colspan rowspan | 双标签 |
8 表单
8.1 表单总体设置
<form action="http://www.baidu.com/s" target="_blank">
<input type="text" name="wd">
<button>搜索</button>
</form>
8.2 表单控件
① 文本输入框
<input type="text"> <br>
<!-- type 属性的默认值就是 text -->
<input> <br>
<!-- maxlength 可以限制最大输入长度 -->
<input type="text" maxlength="10">
② 密码输入框
<input type="password"> <br>
<input type="password" maxlength="6">
③ 单选框
<input type="radio" name="gender">男
<input type="radio" name="gender">女
<input type="radio" name="gender" checked>其他
1. 多个单选框要实现单选效果,需要设置相同的 name 属性值
2. 设置 checked 属性可以实现默认选中,该属性不需要值
④ 复选框
<input type="checkbox">唱
<input type="checkbox">跳
<input type="checkbox" checked>RAP
<input type="checkbox">打篮球
<input type="checkbox" checked>敲代码
设置 checked 属性可以实现默认选中,该属性不需要值
⑤ 提交按钮
<input type="submit">
<input type="submit" value="免费注册">
<button type="submit">提交</button>
<button>登录</button>
⑥ 重置按钮
<input type="reset">
<button type="reset">重置</button>
⑦ 普通按钮
<input type="button" value="普通按钮01">
<button type="button">普通按钮02</button>
⑧ 文本域
<textarea rows="10" cols="60"></textarea>
rows 设置默认显示的行数,影响高度
cols 设置默认显示的列数,影响宽度
⑨ 下拉选项
<select>
<option>江苏省</option>
<option>安徽省</option>
<option>河南省</option>
<option selected>新疆维吾尔自治区</option>
<option>内蒙古自治区</option>
<option>广西壮族自治区</option>
</select>
默认选中的是第一个选项,可以使用 selected 设置默认选项
8.3 表单控件的属性
① name 属性
1. name 用于给表单控件设置标识,与后端对应
2. 多个单选框要实现单选效果需要设置相同的 name
3. 下拉选项需要将 name 设置到 select 上
4. 提交按钮、重置按钮、普通按钮不要设置 name 属性
② value 属性
1. 文本输入框、密码输入框,value 可以设置默认显示的内容
2. 单选框、复选框,value 设置真正提交的数据
3. input 实现的提交按钮、重置按钮、普通按钮,value 设置按钮上的文字
4. button 和 textarea 不需要 value
5. 下拉选项option可以使用value设置真正提交的数据,如果没有设置value,双标签中的文字作为提交的数据
③ disabled 属性
1. 表单控件设置 disabled 属性将变为不可用
2. disabled 属性不需要值
3. select 设置disable 属性整个下拉选项不可用;option 设置 disabled 属性该选项不可选。
9 表单
9.1 label 标签的使用
<!-- 使用label关联描述文字和输入框 -->
<label for="usernameInp">用户名:</label>
<input type="text" id="usernameInp">
<!-- 使用label关联选择框 单选框、复选框 -->
<label>
<input type="radio" name="gender">男
</label>
<label>
<input type="radio" name="gender">女
</label>
9.2 fieldset 和 legend 标签(了解)
<form>
<fieldset>
<legend>标题内容</legend>
各种表单控件...
</fieldset>
</form>
9.3 表单标签总结
标签名 | 语义和功能 | 属性 | 单标签和双标签 |
---|---|---|---|
form | 表单包裹元素 | action:设置表单提交地址。 target:设置提交地址从那个窗口打开 | 双标签 |
input | 各种类型的表单控件 | type:表单控件类型。 maxlength:最大可输入长度。 checked:设置默认选中。 name:表单控件标识。 value:表单控件的值。 disabled:设置为不可用。 | 单标签 |
button | 各种类型的按钮 | type:按钮类型。 disabled:设置为不可用。 | 双标签 |
textarea | 文本域 | rows: 默认显示的行数。 cols:默认显示的列数。 name:表单控件标识。 disabled:设置为不可用。 | 双标签 |
select | 下拉选项包裹元素 | name:表单控件标识。 disabled:设置为不可用。 | 双标签 |
option | 下拉的选项 | value:表单控件的值。 selected:设置默认选中 disabled:设置为不可用。 | 双标签 |
label | 用于关联表单控件 | for:表单控件的id | 双标签 |
fieldset | 设置外围的边框 | 无 | 双标签 |
legend | 设置表单标题 需要与fieldset配合 | 无 | 双标签 |
input 标签的 type 属性值有 text、password、radio、checkbox、submit、reset、button, 默认值 text
button 标签的 type 属性值有 submit、reset、button,默认值 submit
10 内联框架标签
标签名 | 功能和语义 | 属性 | 单标签还是双标签 |
---|---|---|---|
iframe | 内联框架 将各种类型的文件引入当前页面 | src: 设置目标文件地址。 frameborder:设置是否有边框,0表示没有,其他数字表示有。 width:设置宽度。 height:设置高度。 | 双标签 |
11 HTML 字符实体
字符实体,请参照:https://www.w3cschool.cn/htmltags/html-symbols.html
12 HTML 全局属性
全局属性指所有的标签都具有的属性,有如下全局属性:
id 唯一标识,可以用作锚点名、可以用作css选择器
name 设置名称标识,对于表单控件用处较大
class 设置类名,用于css选择器
style 用于直接设置css样式
title 设置提示文字,鼠标悬浮在元素上会显示
lang 设置语言,英文:en; 中文:zh-CN
语言参考代码:https://www.w3school.com.cn/tags/html_ref_language_codes.asp
13 meta 元信息
<!-- 字符集编码 -->
<meta charset="UTF-8">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<!-- 网页关键字 -->
<meta name="keywords" content="8-12个以英文逗号隔开的单词/词语">
<!-- 网页描述信息 -->
<meta name="description" content="80字以内的一段话,与网站内容相关">
<!-- 设置完美视口 -->
<meta name="viewport" content=" width=device-width, initial-scale=1.0">
<!-- 设置网页刷新,每隔3秒刷新一次 -->
<!-- <meta http-equiv="refresh" content="3"> -->
<!-- 设置网页刷新,10秒后定时跳转。支付宝支付后,10秒跳转 -->
<meta http-equiv="refresh" content="10,url=http://www.atguigu.com">
<title>Document</title>
附录 VsCode 的使用
使用方式
整个目录拖进vsode
在vscode里面新建文件和目录
相关设置
自动保存: 设置 -> Auto Save
字体大小: 设置 -> Font Size
目录结构缩进距离: 设置 -> Tree: Indent
合并单个目录结构: 设置 -> Compact Folders 去掉前面的√
颜色主题
文件图标主题
快捷键
代码自动格式化: alt + shift + f
复制当前行到下一行: 连续按 ctrl+c ctrl+v
Emmet 快捷键
!
标签名+tab
更多Emmet快捷键: https://docs.emmet.io/abbreviations/syntax/
设置语言为zh-CN
设置 -> Emmet: Variables 点击添加项 选择 lang 值 zh-CN
常用扩展
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
open in browser
Live Server
Chinese Lorem
评论区