HTML简介
1 网页
1.1 什么是网页
网页是指因特网上根据一定规则,使用HTML等制作的用于展示特定内容相关的网页集合。
网页是构成网站的基本元素,通常由图片、链接、文字、声音、视频等元素组成。我们看到的网页,常见以html或.html后缀结尾的文件,俗称HTML文件。
1.2 什么是HTML
HTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。
标记语言是一套标记标签(Markup Language)。
2 常用浏览器
常用的浏览器有IE、Firefox、Chrome、Safari、Opera等。
浏览器内核(渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
3 Web标准(重点)
Web标准是由W3C组织和其他标准化组织制定的一系列标准的集合。
3.1 为什么需要Web标准
遵循Web标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点:
- 让Web的发展前景更广阔;
- 内容能被更广泛的设备访问;
- 更容易被搜索引擎搜索;
- 降低网站流量费用;
- 使网站更易维护;
- 提高网页浏览速度。
3.2 Web标准的构成(重点)
主要包括结构(structure)、表现(presentation)和行为(Behavior)三个方面。
标准 | 说明 |
---|---|
结构 | 用于对网页元素进行整理和分类,现阶段主要学HTML |
表现 | 用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS |
行为 | 指网页模型的定义及交互的编写,现阶段主要学JavaScript |
简单理解:结构写到HTML文件中,表现写到CSS文件中,行为写到JavaScript文件中。
HTML标签(上)
1 HTML语法规范
1.1 基本语法概述
- HTML标签是由尖括号包围的关键词,例如<html>。
- HTML标签通常是成对出现的,例如<html>和</html>,我们称之为双标签。标签中的第一个标签是开始标签,第二个标签是结束标签。
- 有些特俗的标签必须是单个标签(极少情况),例如<br/>,我们称之为单标签。
1.2 标签关系
双标签关系可以分为两类:包含关系和并列关系。
包含关系:
<head>
<title></title>
</head>
并列关系:
<head></head>
<body></body>
1.3 第一个HTML
每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。
标签名 | 定义 | 说明 |
---|---|---|
<html></html> | HTML标签 | 页面中最大的标签,称为根标签 |
<head></head> | 文档的头部 | 注意:head标签中必须设置title标签 |
<title></title> | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
<body></body> | 文档的主体 | 页面内容基本都是放到body里面 |
2 网页开发工具
2.1 VSCode
2.2 VSCode生成骨架标签新增代码
- <!DOCTYPE>标签
<!DOCTYPE>:文档类型说明,告诉浏览器使用哪种HTML版本显示网页。
<!DOCTYPE html>:当前页面采取的是HTML5版本来显示网页。
注意:
<!DOCTYPE>声明位于文档中的最前面,处于<html>标签之前。
- lang语言
用来定义当前文档显示的语言。
- en定义为英语
- zh-CN定义语言为中文
- charset字符集
字符集是多个字符的集合,以便计算机能够识别和存储各种文字。
在<head>标签内,可以通过标签的charset属性来规定HTML文档应该使用哪种字符编码。
<meta charset=“UTF-8”/>
charset常用的值有:GB2312、BIG5、GBK和UTF-8,其中UTF-8也被称为万国码,基本包含了全世界所有国家需要用到的字符。
3 标签语义
3.1 标题标签
HTML提供了6个等级的网页标签,及<h1>-<h6>。
标签语义:作为标题使用,并且依据重要性递减。
3.2 段落标签
在HTML标签中,<p>标签用于定义段落。
3.3 换行标签
强制换行需要使用换行标签<br/>。
<br/>为单标签。
3.4 文本格式化标签
标签语义:突出重要性,比普通文字更重要。
语义 | 标签 |
---|---|
加粗 | <strong></strong>或者<b></b> |
倾斜 | <em></em>或者<i></i> |
删除线 | <del></del>或者<s></s> |
下划线 | <ins></ins>或者<u></u> |
3.5 <div>和<span>标签
<div>和<span>是没有语义的,<div>标签用来布局,但一行只能放一个<div>,<span>一行上可以放多个<span>。
3.6 图像标签
在HTML中,<img>标签用于定义HTML页面中的图像。
<img src=“图像URL”/>
src是<img>标签的必须属性,用于指定图像文件的路径和文件名。
图像标签的其他属性:
属性 | 属性值 | 说明 |
---|---|---|
src | 图像路径 | 必须属性 |
alt | 文本 | 替换文本,图像上不能显示的文字 |
title | 文本 | 提示文本 |
width | 像素 | 设置图像的宽度 |
height | 像素 | 设置图像的高度 |
border | 像素 | 设置图像的边框粗细 |
注意点:
- 图像标签可以拥有多个属性,必须写在标签名的后面;
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开;
- 属性采取键值对的格式。
3.7 路径
(1)目录文件夹和根目录
**目录文件夹:**就是普通文件夹,里面存放了做页面所需要的相关素材,比如html文件、图片等。
**根目录:**打开目录文件夹的第一层就是根目录。
(2)路径可以分为:
- 相对路径
- 绝对路径
3.8 超链接标签
<a href=“跳转目标” target=“目标窗口的弹出方式”> 文本或图像
两个属性的作用如下:
属性 | 作用 |
---|---|
href | 用于指定链接目标的url地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能 |
target | 用于指定链接页面的打开方式,其中_self为默认值,_blank为在新窗口中的打开方式 |
3.9 超链接标签(重点)
链接分类:
- 外部链接:例如<a href=“http://www.baidu.com”>百度</a>。
- 内部链接:网站内部页面之间的相互链接,直接链接内部页面名称即可,例如<a href=“index.html”>首页</a>。
- 空链接:如果当时没有确定链接目标时,<a href="#">首页<a>。
- 下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。
- 网页元素链接:在网页中的各种元素,如文本、图像、表格、音频、视频等都可以添加超链接。
- 锚点链接:点击链接,可以快速定位到页面中的某个位置。
- 在链接文本的href属性中,设置属性值为 # 名字的形式,如<a href="#two">第二集</a>
- 找到目标位置标签,里面添加一个id属性=刚才的名字,如:<a href=“two”>第二集介绍</a>。
4 HTML中的注释和特殊字符
4.1 注释
注释标签:
<!- -注释语句- -> 快捷键:ctrl+/
4.2 特殊字符
在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时使用特殊字符替代。
特殊字符 | 描述 | 字符代码 |
---|---|---|
… | 空格符 | |
< | 小于号 | < |
> | 大于号 | > |
& | 和号 | & |
¥ | 人民币 | ¥ |
还有很多,如果需要回头查阅即可。
HTML标签(下)
1 表格标签
1.1 表格的主要作用
表格主要用于显示、展示数据,不是用来布局页面的。
1.2 表格的基本语法
<table>
<tr>
<td>单元格内的文字</td>
…
</tr>
…
</table>
- <table></table>是用于定义表格的标签;
- <tr></tr>标签用于定义表格中的行,必须嵌套在<table></table>标签中;
- <td></td>用于定义表格中的单元格,必须嵌套在<tr></tr>标签中;
- 字母td指表格数据(table data),即数据单元格的内容。
1.3 表头单元格标签
一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示。
<th>标签表示HTML表格的表头部分(table head的缩写)
<table>
<tr>
<th>姓名</th>
…
</tr>
</table>
1.4 表格属性
表格标签这部分属性实际开发中不常用,后面通过CSS设置。
目的:
- 记住这些英语单词,后面CSS会使用;
- 直观感受表格的外观形态。
属性名 | 属性值 | 描述 |
---|---|---|
align | left、center、right | 规定表格相对周围元素的对齐方式 |
border | 1或“” | 规定表格单元格是否拥有边框,默认“”,表示没有边框 |
cellpadding | 像素值 | 规定单元边沿与其内容之间的空白,默认1像素 |
cellspacing | 像素值 | 规定单元格之间的空白,默认2像素 |
width | 像素值或百分比 | 规定表格的宽度 |
1.5 表格结构标签
使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。
在表格标签中,分别使用:<thead>标签 表格的头部区域,<tbody>标签 表格的主体区域。这样可以更好的分清表格结构。
- <thead></thead>:用于定义表格的头部。<thead>内部必须拥有<tr>标签,一般位于第一行。
- <tbody></tbody>:用于定义表格的主体,主要用于存放数据。
- 以上标签都是放在<table></table>标签中。
1.6 合并单元格
特殊情况下,可以把多个单元格合并为一个单元格。
- 合并单元格方式:
- 跨行合并:rowspan=“合并单元格的个数”
- 跨列合并:colspan=“合并单元格的个数”
- 目标单元格:(写合并代码)
- 跨行:最上侧单元格为目标单元格,写合并代码
- 跨列:最左侧单元格为目标单元格,写合并单元格
- 合并单元格三部曲
- 先确定是跨行还是跨列合并
- 找到目标单元格,写上合并方式=合并的单元格数量。比如:<td colspan=“2”></td>
- 删除多余的单元格
2 列表标签
表格是用来显示数据的,列表是用来布局的。
列表最大的特点就是整齐、整洁、有序,作为布局会更加自由和方便。
根据使用的场景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。
2.1 无序列表(重点)
<ul>标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。
基本语法格式如下:
<ul>
<li> 列表项1</li>
<li> 列表项2</li>
<li> 列表项3</li>
…
</ul>
特点:
- 无序列表的各个列表项之间没有顺序级别之分,是并列的。
- <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
- <li>与</li>之间相当于一个容器,可以容纳所有元素。
- 无序列表会带有自己的样式属性,但在实际使用时,会使用CSS设置。
2.2 有序列表(理解)
在HTML标签中,<ol>标签用于定义有序列表,列表排序以数字来显示,并且使用<li>标签来定义列表项。
基本语法格式如下:
<ol>
<li> 列表项1 </li>
<li> 列表项2 </li>
<li> 列表项3 </li>
…
</ol>
特点:
- <ol></ol>中只能嵌套<li></li>,直接在<ol></ol>标签中输入其他标签或文字的做法是不被允许的。
- <li>与</li>之间相当于一个容器,可以容纳所有元素。
- 有序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。
2.3 自定义列表(重点)
自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。
在HTML标签中,<dl>标签用于定义描述列表,该标签会与<dt>(定义项目/名字)和<dd>(描述每一个项目/名字)一起使用。
基本语法格式如下:
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
…
</dl>
特点:
- <dl></dl>里面只能包含<dt>和<dd>。
- <dt>和<dd>个数没有限制,经常是一个<dd>对应多个<dd>。
2.4 列表总结
标签名 | 定义 | 说明 |
---|---|---|
<ul></ul> | 无序列表 | 里面只能包含<li>,没有顺序,使用较多。<li>里面可以包含任何标签。 |
<ol></ol> | 有序列表 | 里面只能包含<li>,有顺序,使用相对较少。<li>里面可以包含任何标签。 |
<dl></dl> | 自定义列表 | 里面只能包含<dt>和<dd>,<dt>和<dd>里面可以包含任何标签。 |
注意:
- 学会什么时候用无序列表,什么时候用自定义列表。
- 无序列表和自定义列表代码怎么写?
- 列表布局在学习完成CSS后再来完成。
3 表单标签
3.1 为什么需要表单
使用表单的目的是为了收集用户信息。
3.2 表单的组成
在HTML中,一个完整的表单通常由表单域、表单控件(表单元素)和提示信息3个部分构成。
3.3 表单域
表单域是一个包含表单元素的区域。
在HTML标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递。
<form>会把它范围内的表单元素信息提交给服务器。
<form action=“url地址” method=“提交方式” name=“表单域名称”>
各种表单元素控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post |
name | 名称 | 用于指定表单的名称,以区分同一页面中的多个表单域 |
这里只需记住两点:
- 在我们写表单元素之前,应该有个表单域把它们包含。
- 表单域是<form>标签。
3.4 表单控件(表单元素)
在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。
- input输入表单元素
- select下拉表单元素
- textarea文本域元素
3.4.1 input表单元素
在表单元素中<input>标签用于收集用户信息。
在<input>标签中,包含一个type属性,输入字段拥有很多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等)。
<input type=“属性值”/>
- <input/>标签为单标签
- type属性设置不同的属性值用来指定不同的控件类型
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值。
- checked属性主要针对于单选按钮和复选框,主要作用一打开页面,就要可以默认选中某个表单元素。
- maxlength是用户可以在表单元素输入的最大字符数,一般较少使用。
- 有些表单元素想刚打开页面就默认显示几个文字?
答:可以给这些表单元素设置value属性=“值”
用户名:<input type=“text” value=“请输入用户名”/>
- 页面中的表单元素很多,如何区别不同的表单元素?
答:name属性:当前input表单的名字,后台可以通过这个name属性找到这个表单。页面中的表单很多,name的主要作用就是用于区别不同的表单。
用户名:<input type=“text” value=“请输入用户名” name=“username”/>
- name属性后面的值,是自定义的。
- radio(或者checkbox)如果是一组,我们必须给他们命名相同的名字。
<input type=“radio” name=“sex” />男
<input type=“radio” name=“sex” />女
- 如果页面一打开就让某个单选按钮或者复选框是选中状态?
答:checked属性:表示默认选中状态。用于单选按钮和复选按钮。
性别:
<input type=“radio” name=“sex” value=“男” checked=“checked” />男
<input type=“radio” name=“sex” value=“女” />女
- 如何让input表单元素展示不同的形态?比如单选按钮或者文本框
答:type属性:type属性可以让input表单元素设置不同的形态。
<input type=“radio” name=“sex” value=“男” checked=“checked” />男
<input type=“text” value=“请输入用户名” />
3.4.2 <label>标签
<label>标签为input元素定义标注(标签)。
<label>标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
基本语法格式:
<label for=“sex”>男</label>
<input type=“radio” name=“sex” id=“sex”/>
核心:<label>标签的for属性与相关的元素的id属性相同。
3.4.3 <select>表单元素
在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用<select>标签控件定义下拉列表。
基本语法格式:
<select>
<option>选项1<option>
<option>选项2<option>
<option>选项3<option>
…
</select>
- <select>中至少包含一对<option>
- 在<option>中定义selected="selected"时,当前项即为默认选中项。
3.4.4 <textarea>表单元素
在表单元素中,<textarea>标签是用于定义多行文本输入的控件。
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。
基本语法格式:
<textearea row=“3” cols=“20”>
文本内容
</textarea>
- 通过<textarea>标签可以轻松地创建多行文本输入框。
- cols=“每行中的字数”,rows=“显示的行数”,我们实际开发中不会使用,都是用CSS来改变大小。
3.4.5 表单元素几个总结点
- 表单元素我们学习了三大组:input输入表达元素、select下拉表单元素、textarea文本域表单元素。
- 这三组表单元素都应该包含在form表单域里面,并且有name属性。
<form>
<input type=“text” name=“username”>
<select name=“jiguan”>
<option>北京</option>
</select>
<textarea name=“message”></textarea>
</form>
- 有三个名字非常相似的标签:
(1)表单域 form 使用场景:提交区域内表单元素给后台服务器
(2)文件域 file 是input type属性值 使用场景:上传文件
(3)文本域 textarea 使用场景:可以输入多行文字,比如留言板、网站介绍等…
3.5 查阅文档
推荐网址:百度、W3C等。