Web 标准

Web 标准是由 W3C 组织和其他标准化组织制定的一系列标准的集合。

为什么需要 Web 标准

  1. 让 Web 的发展前景更广阔
  2. 内容能被更广泛的设备访问
  3. 更容易被搜索引擎搜索
  4. 降低网站流量费用
  5. 使网站更易于维护
  6. 提高页面浏览速度

Web 标准的构成

简单理解:结构写到 HTML 文件中,表现写到 CSS 文件中,行为写到 JavaScript 文件中。

主要包括结构(Structure)表现(Presentation)行为(Behavior)三个方面

标准说明
结构结构用于对网页元素进行整理和分类,现阶段主要学的是HTML
表现表现用于设置网页元素的板式、颜色、大小等外观样式,主要指的是CSS
行为行为是指网页模型的定义及交互的编写,现阶段主要学的是JavaScript

Web 标准提出的最佳体验方案:结构、样式、行为相分离。

安装 visual studio code

  • 扩展商店搜索live server安装实时重载插件
  • 扩展商店搜索chinese即可安装简体中文包,重启vscode即生效
  • 输入!,然后按下tab键,vscode会自动创建一个空的网页模板,如图:

HTML 基本结构标签

第一个 HTML 网页

每个网页都有一个基本的结构(骨架)标签

1
2
3
4
5
6
7
8
<html>
<head>
<title>我的第一个页面</title>
</head>
<body>
Hello World!
</body>
</html>

文档类型声明标签

<!DOCTYPE> 文档类型声明,告诉浏览器是使用哪种 HTML 版本来显示网页

1
<!DOCTYPE html> /*当前页面采取的是HTML5版本来显示网页*/

lang 语言种类

  1. en 定义语言为英语
  2. zh-CN 定义语言为中文

定义成 en 的文档可以显示中文,定义成 zh-CN 的文档也可以显示英文,但对浏览器的翻译有影响

字符集

字符集(Character set)是多个字符的集合。以便于计算机能够识别和存储各种文字。
head标签内,可以通过meta标签的charset属性类规定 HTML 文档应该使用哪种字符编码。

1
<meta charset="UTF-8" />

charset 常用的值有:GB2312、BIG5、GBK 和 UTF-8,其中UTF-8也被称为万国码,基本包含了全世界所有国家需要使用到的字符。

标签语义

简单理解就是指标签的含义,即这个标签是用来干什么的。
根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。

image-20210910185917786

标题标签

h 标签为单词 head 的缩写

为了使网页具有语义化,我们经常会在页面中用到标题标签。HTML 提供了 6 个等级的网页标题,即 h1-h6。
标签语义:作为标题使用,并且依据重要性递减

特点:

  1. 加了标题的文字会变得加粗,字号也会依次变大。
  2. 一个标题独占一行。

段落标签

p 标签为单词 paragraph 的缩写

在网页中,要把文字有条理地显示出来,需要将这些文字分段显示。
标签语义:把 HTML 文档分割为若干段

特点:

  1. 文本在一个段落中会根据浏览器窗口的大小自动换行。
  2. 段落和段落之间保有空隙。

换行标签

br 标签为单词 break 的缩写

标签语义:强制换行

特点:

  1. <br> 是个单标签
  2. <br> 标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。

文本格式化标签

为文字设置粗体斜体删除线下划线等效果时,需要用到 HTML 的文本格式化标签。

语义标签说明
加粗strong 或者 b更推荐使用 strong 标签加粗,语义更强烈
倾斜em 或者 i更推荐使用 em 标签加粗,语义更强烈
删除线del 或者 s更推荐使用 del 标签加粗,语义更强烈
下划线ins 或者 u更推荐使用 ins 标签加粗,语义更强烈

标签语义:突出重要性,比普通文字更重要

<div> 和 <span> 标签

<div> 和 <span> 是没有语义的,它们就是一个盒子,用来装内容的。

div 是 division 的缩写,表示分割,分区。span 意为跨度、跨距。

1
2
3
4
5
<div>一个div标签独占一行</div>
123
<span>百度</span>
<span>新浪</span>
<span>搜狐</span>

image-20210911174235163

特点:

  1. <div> 标签用来布局,但是现在一行只能放一个 <div>,可以理解为大盒子
  2. <span> 标签用来布局,一行上可以多个 <span>,可以理解为小盒子

图像标签

img 标签用于定义 HTML 页面中的图像。

img 是 image 的缩写

1
<img src="图像URL" />

src是 img 标签的必须属性,它用于指定图像的路径

其他属性

属性属性值说明
src图像路径必须属性
alt文本替换文本,图像裂开时显示的文字
title文本提示文本,鼠标移到图像上时显示的文字
width像素设置图像的宽度
height像素设置图像的高度
border像素设置图像的边框粗细

特点:

  1. 图像标签可以拥有多个属性,必须写在标签名 img 的后面。
  2. 属性之间不分先后顺序,标签名与属性、属性与属性之间均已空格分开。
  3. 属性采取键值对的格式,即 key = "value" 的格式,属性 = “属性值”。

路径

(1)目录文件夹和根目录:

目录文件夹:就是普通文件夹,里面存放了我们做页面用到的相关素材,比如 html 文件和图片等。

根目录:打开目录文件夹的第一层就是根目录。

相对路径

相对路径就是以引用文件所在位置为参考基础,而建立的目录路径

简单来说就是图片相对于 HTML 文件所在的位置

相对路径分类符号说明
同一级路径图像文件位于 HTML 文件同一级 <img src="xxx.png" />
下一级路径/图像文件位于 HTML 文件下一级 <img src="img/xxx.png" />
上一级路径../图像文件位于 HTML 文件上一级 <img src="../xxx.png" />

绝对路径

绝对路径是指目录下的绝对位置,直接到达目标的位置,通常是从盘符开始的路径。

例如,"D:\web\img\logo.png"或者完整的网络地址 "https://..../logo.png"

超链接标签

a 是 anchor 的缩写,意为:锚

在 HTML 标签中,a 标签用于定义超链接,作用是从一个页面链接到另一个页面。

例如:

1
<a href="http://www.qq.com" target="_blank">腾讯</a>

两个属性

属性作用
href用于指定链接目标的 url 地址,必须属性
target用于指定链接页面的打开方式,其中 _self 为默认值,_blank 为在新窗口打开

链接分类

  1. 外部链接:<a href="https://www.baidu.com/">百度</a>
  2. 内部链接:网站内部页面之间的相互链接,例如<a href="index.html">首页</a>
  3. 空链接:没有确定链接目标,例如<a href="#">首页</a>
  4. 下载链接:如果 href 里的地址是一个文件或者压缩包,则会下载该文件
  5. 网页元素链接:网页中的各种元素,如文本、图像、表格、音频、视频等都可以添加超链接
  6. 锚点链接:当我们点击链接时,可以快速定位到页面中的某个位置,如下:
    • 在链接文本的 href 属性中,设置属性值为#名字的形式,如<a href="#two">第二集</a>
    • 找到目标位置标签,里面添加一个 id 属性,如<h3 id="two">第二集简介</h3>

注释

添加注释是为了更好地解释代码的功能,便于相关开发人员阅读和理解代码,程序不会执行。

1
<!-- 注释语句 -->

特殊字符

在 HTML 页面中,一些特殊的符号不方便使用,我们可以使用下面的字符来替代。

重点记住空格、小于号和大于号,其余较少使用,需要使用时回头查阅即可。

特殊字符描述字符的代码
空格符(受字体影响)&nbsp;
1/2 个中文宽度&ensp;
1 个中文宽度&emsp;
<小于号&lt;
>大于号&gt;
&&amp;
¥人民币&yen;
©版权&copy;
®注册商标&reg;
°&deg;
±正负号&plusmn;
×乘号&times;
÷除号&divide;
²平方&sup2;
³立方&sup3;

综合案例-圣诞节

通过案例一,主要复习:

  1. 目录文件夹
  2. 上面所学标签
  3. 路径
  4. 锚点链接

表格标签

表格不是用来布局页面的,而是用来展示数据的。

表格的基本语法

1
2
3
4
5
6
7
8
9
10
11
<table>
<tr>
<th>姓名</th>
<!-- 表头单元格中的文字会加粗居中显示 -->
<th>学号</th>
</tr>
<tr>
<td>王大菜</td>
<td>12345</td>
</tr>
</table>
  1. <table> 标签用于定义表格。
  2. <tr> 标签用于定义表格的行。
  3. <th> 标签用于定义表格的表头部分。
  4. <td> 标签用于定义表格中的单元格。

tr: table row、th: table head、td: table data

表格属性

表格标签这部分属性我们实际开发中不常用,主要通过后面 CSS 来设置,先初步了解一下。

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式
border1 或""规定表格单元是否拥有边框,默认为"",表示没有边框
cellpadding像素值规定单元格内容与其边沿的间距,默认为 1 像素
cellspacing像素值规定单元格边框之间的间距,默认为 2 像素
width像素值或百分比规定表格的宽度
height像素值或百分比规定表格的高度

表格结构标签

因为表格可能很长,为了更好地表示表格的语义,可以将表格分割成表格头部表格主体两大部分。

在表格标签中,分别用:<thead> 标签表格的头部区域,<tbody> 标签表格的主体区域,这样可以更好地分清表格结构。

  1. <thead>:用于定义表格的头部
  2. <tbody>:用于定义表格的主体
  3. 以上标签都是放在<table>标签中

表格案例

单元格里面可以放任何元素,文字、链接、图片等都可以

合并单元格

  • 跨行合并:rowspan="合并单元格个数"
  • 跨列合并:colspan="合并单元格个数"

目标单元格:

  • 跨行:最上侧单元格为目标单元格,写合并代码
  • 跨列:最左侧单元格为目标单元格,写合并代码

合并三步曲:

  1. 先确定是跨行还是跨列合并。
  2. 找到目标单元格,添加代码,合并方式 = 合并的单元格数量。比如:<td colspan="2"></td>

列表标签

表格是用来显示数据的,那么列表就是用来布局的。

根据使用场景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。

无序列表

基本语法格式如下:

1
2
3
4
5
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ul>
  1. 无序列表的各个列表项之间没有顺序级别之分,是并列关系
  2. <ul> 中只能嵌套 <li>,直接在 <ul> 标签中插入其他标签或文字是不允许的。
  3. <li>相当于一个容器,可以容纳所有元素。

有序列表

基本语法格式如下:

1
2
3
4
5
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ol>
  1. <ol> 中只能嵌套 <li>,直接在 <ol> 标签中插入其他标签或文字是不允许的。
  2. <li>相当于一个容器,可以容纳所有元素。
  3. 有序列表会带有自己的样式属性,但在实际使用时,我们会用 CSS 来设置。

自定义列表

基本语法格式如下:

1
2
3
4
5
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>

<dl> 用于定义列表,<dt> 用于定义项目/名字,<dd> 用于描述具体项目的内容。

  1. <dl> 里面只能包含 <dt> 和 <dd> 。
  2. <dt> 和 <dd> 的个数没有限制,经常是一个 <dt> 对应多个 <dd> 。

小结

标签名定义说明
<ul>无序列表里面只能包含 <li>,没有顺序,使用较多,<li> 里面可以包含任何标签
<ol>有序列表里面只能包含 <li>,有顺序,使用较少,<li> 里面可以包含任何标签
<dl>自定义列表里面只能包含 <dt> 和 <dd>,一个 <dt> 对应多个 <dd>,<dt> 和 <dd> 里面可以放任何标签

学会什么时候用无须列表,什么时候用自定义列表。

表单标签

在 HTML 中,一个完整的表单通常由表单域表单控件(也称为表单元素)提示信息3 个部分构成。

表单域

表单域是一个包含表单元素的区域

<form> 会把它范围内的表单元素信息提交给服务器。

1
<form action="url地址" method="提交方式" name="表单域名称">各种表单元素控件</form>

常用属性:

属性属性值作用
actionurl 地址用于指定接收并处理表单数据的服务器程序的 url 地址
methodget/post用于设置表单数据的提交方式
name名称用于指定表单的名称,以区分同一个页面中的多个表单域

表单元素

<input> 表单元素

<input> 标签中包含一个type属性,type 属性值不同,输入字段拥有不同的形式(文本,复选框,密码等)

1
<input type="属性值" />
  • <input /> 标签为单标签
  • type 属性设置不同的属性值用来指定不同的控件类型

type 的属性值如下:

属性值描述
button定义可点击按钮(多数情况下,用于通过 JavaScript 启动脚本)
checkbox定义复选框
file定义输入字段和“浏览”按钮,供文件上传
hidden定义隐藏的输入字段
image定义图像形式的提交按钮
password定义密码字段,该字段中的字符被掩码
radio定义单选按钮
reset定义重置按钮,重置按钮会清除表单中的所有数据
submit定义提交按钮,提交按钮会把表单数据发送到服务器
text定义单行的输入字段,用户可在其中输入文本,默认宽度为 20 个字符

除了 type 属性外,<input> 标签还有其他很多属性,其常用属性如下:

属性属性值描述
name由用户自定义定义 input 元素的名称
value由用户自定义规定 input 元素的值
checkedchecked规定此 input 元素首次加载时应当被选中
maxlength正整数规定输入字段中的字符的最大长度
  1. name 和 value 是每个表单元素都有的属性值,主要给后台人员使用。
  2. name 表单元素的名字,要求单选按钮和复选框要有相同的 name 值
  3. checked 属性主要针对于单选按钮和复选框,主要作用一打开页面,就可以默认选中某个表单元素。
  4. maxlength 是用户可以在表单元素输入的最大字符数,较少使用。

<label> 标签

<label> 标签为 input 元素定义标注

语法:

1
<label for="sex"></label> <input type="radio" name="sex" id="sex" />

核心:<label> 标签的for 属性应当与相关元素的id 属性相同。

<select> 表单元素

<select> 标签用于定义下拉列表

语法:

1
2
3
4
5
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
</select>
  1. <select> 中至少包含一对 <option>
  2. 在 <option> 中定义 selected 时,当前选项即为默认选中项

<textarea> 表单元素

<textarea> 用于定义多行文本输入的控件,常见于留言板,评论

语法:

1
<textarea rows="3" cols="20">文本内容</textarea>
  1. 通过 <textarea> 标签可以创建多行本文输入框
  2. cols 为默认文本框列数,rows 为默认文本框行数,但在实际开发中不会使用,都是用 CSS 来改变文本框大小

小结

1. 表单元素我们学习了三大组:input 输入表单元素、select 下拉表单元素、textarea 文本域表单元素
2. 这三组表单元素都应该包含在 form 表单域里,并且有 name 属性

1
2
3
4
5
6
7
8
9
10
11
<form>
<input type="text" name="username" />
<select name="jiguan">
<option>北京</option>
<option>上海</option>
<option>广州</option>
<option>深圳</option>
<option selected>请选择</option>
</select>
<textarea name="message"></textarea>
</form>

3. 有三个名字比较相似的标签:

(1)表单域 form 使用场景:提交区域内表单元素给后台服务器

(2)文件域 file 是 input type 属性值 使用场景:上传文件

(3)文本域 textarea 使用场景:可以输入多行文本,比如留言板等

4. 当前阶段不需要提交表单元素,我们只负责表单元素的外观形态即可

综合案例-注册页面

通过案例三,主要复习:

  1. 表格标签
  2. 列表标签
  3. 表单标签

查阅文档

  1. https://www.baidu.com/
  2. https://www.w3school.com.cn/
  3. https://developer.mozilla.org/zh-CN/