前端学习记录之HTML

发布于:2025-04-03 ⋅ 阅读:(13) ⋅ 点赞:(0)

1. 网页

1.1 什么是网页

网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。
网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读

网页是构成网站的基本元素。它通常由图片,链接,文字,声音,视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此将其俗称为HTML文件

1.2 什么是HTML

HTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言(markup language)。
标记语言是一套标记标签(markup tag)。

所谓超文本,有2层含义:

  1. 它可以加入图片,声音,动画,多媒体等内容(超越了文本限制)。
  2. 它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超链接文本)。

1.3 网页的形成

网页是由网页元素组成的,这些元素是利用html标签描述出来,然后通过浏览器解析来显示给用户的。

前端人员开发代码—>浏览器显示代码(解析,渲染)—>生成最后的Web页面

2. 常用浏览器

浏览器是网页显示,运行的平台。常用的浏览器有edge,Firefox,chrome,safari,opera等。

浏览器内核
浏览器内核(渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。

浏览器 内核 备注
IE Trident IE、猎豹安全、360极速浏览器、百度浏览器
Firefox Gecko 火狐浏览器内核
Safari Webkit 苹果浏览器内核
Chrome/Opera Blink Chrome / Opera浏览器内核。Blink 其实是 WebKit 的分支。
目前国内浏览器一般采用Webkit和Blink内核

3. Web标准

Web标准是由W3C组织和其它标准化组织制定的一系列标准的集合。W3C(万维网联盟)是国际最著名的标准化组织。

3.1 为什么需要Web标准

遵循 Web 标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点:

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

3.2 Web标准的构成

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

标准 说明
结构 结构用于对网页元素进行整理和分类,现阶段主要学的是HTML。
表现 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS。
行为 行为是指网页模型的定义及交互的编写,现阶段主要学的是 JavaScript。
Web标准提出的最佳体验方案:结构,样式,行为向分离。

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

1. HTML语法规范

1.1 基本语法概述

  1. HTML标签是由尖括号包围的关键词,例如<html>
  2. HTML标签通常是成对出现的,例如<html>和</html> ,我们称为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签。
  3. 有些特殊的标签必须是单个标签(极少情况),例如<br /> ,我们称之为单标签

1.2 标签关系

双标签关系可以分为两类:包含关系和并列关系
包含关系

<head>妈妈
	<title> </title>女儿
</head>

并列关系

<head> </head>
<body> </body>类似姐妹

2. HTML基本结构标签

2.1 第一个HTML网页

每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。HTML页面也称为HTMl文档。

标签名 定义 说明
<html></html> HTML标签 页面中最大的标签,我们称为根标签。
<head></head> 文档的头部 注意在head标签中我们必须设置的标签是title。
<title></title> 文档的标题 让页面拥有一个属于自己的网页标题。
<body></body> 文档的主体 元素包含文档的所有内容,页面内容基本都是放到body里面的。

HTML文档的后缀名必须是.html或.htm,浏览器的作用是读取HTML文档,并以网页的形式显示出它们。

win + 左右箭头快速调整

3. 网页开发工具

3.1 文档类型声明标签

<!DOCTYPE>  文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页
<!DOCYTPE html>
当前页面采取的是HTML5版本来显示网页

注意

  1. 声明位于文档中的最前面的位置,处于``标签之前
  2. 不是一个HTML标签,它就是文档类型声明标签

3.2 lang语言种类

用来定义当前文档显示的语言

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

3.3 字符集

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

<meta charset="UTF-8">

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

4. HTML 常用标签

4.1 标签语义

学习标签有技巧,重点记忆每个标签的语义。即标签的含义,该标签用来干啥?
根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。

4.2 标题标签<h1>-<h6>

为了使网页更具有语义化,会在页面中用到标题标签。HTML提供了6个等级的标签,即<h1>-<h6>
单词head的缩写,意为头部,标题
标签语义:作为标题使用,并且依据重要性递减。
特点

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

4.3 段落和换行标签

在网页中,要把文字有条理的显示出来,就需要将文字分段显示。在HTML标签中,p标签用于定义段落,它可以将整个网页分为若干区域。
标签语义:可以把HTML文档分割为若干段落。
特点

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

在HTML中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望某段文本强制换行显示,就需要使用换行标签<br />
单词break的缩写,意为打断,换行。
标签语义:强制换行。
特点

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

4.4 文本格式化标签

在网页中,有时需要为文字设置粗体斜体或下划线等效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。
标签语义:突出重要性,比普通文字重要。

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

4.5 <div><span标签

<div><span>没有语义的,它们就是一个盒子,用来装内容的。
div是division的缩写,表示分割,分区,span意为跨度,跨距。
特点

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

4.6 图像标签和路径(重点)

1.图像标签

在HTML标签中,<img> 标签用于定义HTML页面中的图像。

<img src = "图像URL" />

src是<img>标签的必须属性,它用于指定图像文件的路径和文件名
所谓属性:就是属于这个图像标签的特性。
图像标签的其它属性:

属性 属性值 说明
src 图片路径 必须属性
alt 文本 替换文本。图像不能显示的文字
title 文本 提示文本。鼠标放到图像上,显示的文字
width 像素 设置图像的宽度
height 像素 设置图像的高度
border 像素 设置图像的边框粗细
图像标签属性注意点:
① 图像可以拥有多个属性,必须写在标签名的后面。
② 属性之间不分先后顺序,标签名与属性,属性与属性之间均以空格分开
③ 属性采取键值对的格式,即key=“value”的格式,属性=“属性值”。

2. 路径

页面中的图片会非常多,通常我们会新建一个文件夹来存放这些图像文件(例如 images),这时再查找图像,就需要采用“路径”的方式来指定图像文件的位置。路径可以分为:

  1. 相对路径
  2. 绝对路径

2.1 路径之相对路径

相对路径:以引用文件所在位置为参考基础,而建立出的目录路径。简单来说,图片相对于HTML页面的位置。

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

相对路径是从代码所在的文件出发,去寻找目标文件的。我们所说的上一级、下一级和同一级就是图片相对于HTML页面的位置。


2.2 路径之绝对路径

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

例如:

  • "F:\html\emoij.png"
  • 完整的网络地址 "https://www.bilibili.com/?page=Home"

3. 目录文件夹和根目录📁

实际工作中,我们的文件不能随便乱放,否则用起来很难快速找到它们。因此,我们需要一个文件夹来管理它们。

  • 目录文件夹:就是普通文件夹,里面存放了我们做页面所需要的相关素材,比如HTML文件、图片等。
  • 根目录:打开目录文件夹的第一层就是根目录。

4. VSCode 打开目录文件夹

VSCode 中,可以通过以下步骤打开目录文件夹:

  1. 点击 文件 菜单。
  2. 选择 打开文件夹
  3. 选择您的目录文件夹。

这种方式在后期非常方便管理文件。


4.7 超链接标签

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

链接的语法格式

<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a>

单词anchor的缩写,意为:锚。

属性 作用
href 用于指定链接目标的url地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能。
target 用于指定链接页面的打开方式,其中_self为默认值,_blank为在新窗口中打开方式。

链接的分类

  1. 外部链接:例如b站.
<a href="http://www.bing.com" target="_self">必应 </a> <!> --默认在当前页面打开 <--!>
<a href="htttp://www.bing.com" target="_blank"> 必应 </a># 在新标签页打开
  1. 内部链接:网站内部页面之间的相互链接。直接链接内部页面名称即可
<a href=""> xxx </a>
  1. 空链接:如果暂时没有确定链接目标时
<a href="#">xxx</a>
  1. 下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。
<a href="img.zip">下载文件</a>
  1. 网页元素链接:在网页中的各种网页元素,如文本,图像,表格,音频,视频等都可以添加超链接
<a href="http://www.bing.com"><img src="emoij.png" /></a>
  1. 锚点链接:当点击链接,可以快速定位到页面中的某个位置。
    • 在链接文本的href属性中,设置属性值为==#名字==的形式,如
      <a href="#two">第二集</a>
    • 找到目标位置标签,里面添加一个id属性 = 刚才的名字,如:
      h3 id="two">第二集介绍</h3>
<a href="#two">第二集</a>
<h3 id="two">第二集介绍</h3>

4.8 表格标签

表格是实际开发中非常常用的标签:

  1. 表格的主要作用
  2. 表格的基本语法

1.1 表格的主要作用

表格主要用于显示,展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格就能把繁杂的数据表现得很有条理。

1.2 表格的基本语法

<table>
	<tr>
		<td>单元格内的文字</td>
		...
	</tr>
	...
 </table>
  1. <table> </table>是用于定义表格的标签;
  2. <tr> </tr>标签用于定义表格中的行,必须嵌套在①的标签中;
  3. <td> </td>用于定义表格中的单元格,必须嵌套在②的标签中;
  4. 字母td指表格数据(table data),即数据单元格的内容。
    表格无列概念

1.3 表头单元格标签

一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示
<th>标签表示HTML表格的表头部分(table head的缩写)
<table>
<tr>
<th> 姓名 </th>
...
</tr>
...
</table>

1.4 表格属性

表格标签这部分属性实际开发不常用,后面通过CSS来设置

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

1.5 表格结构标签

使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。
在表格标签中,分别哟看那个:<thead>标签 表格的头部区域,<tbody>标签 表格的主体区域。这样可以更好的分清表结构。

  1. <thead></thead>:用于定义表格的头部。<thead>内部必须拥有<tr>标签。一般是位于第一行
  2. <tbody></tbody>:用于定义表格的主体,主要用于放数据本体。
  3. 以上标签都是放在<table></table>

1.6 合并单元格

特殊情况下,可以把多个单元格合并为一个单元格。

  1. 合并单元格格式
  2. 目标单元格
  3. 合并单元格的步骤
合并单元格格式
  • 跨行合并:rowspan=“合并单元格的个数”
  • 跨列合并:colspan=“合并单元格的个数”
目标单元格:(写合并代码)
  • 跨行:最上侧单元格为目标单元格,写合并代码
  • 跨列:最左侧单元格为目标单元格,写合并代码
合并单元格三步曲:😎
  1. 先确定跨行还是跨列
  2. 找到目标单元格,写上合并方式=合并的单元格数量
<td colspan="2"> </td>
  1. 删除多余单元格

1.7 表格总结

  1. 表格的相关标签
  2. 表格的相关属性
  3. 合并单元格

4.9 列表标签

表格是用来显示数据的,那么列表就是用来布局的。
列表的最大特点就是整齐,整洁,有序,它作为布局会更加自由和方便。
根据使用情景不同,列表可以分为三大类:无序列表,有序列表和自定义列表

1.1 无序列表(重点)

<ul>unordered list)标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。

<ul>
	<li> 列表项1</li>
	<li> 列表项2</li>
	...
</ul>  
  1. 无序列表的各个列表之间没有顺序级别之分,是并列的。
  2. <ul> </ul> 中只能嵌套<li> </li>,直接在<ul> /<ul> 标签中输入其它标签或者文字的做法是不被允许的。
  3. <li></li>之间相当于一个容器,可以容纳所有元素。
  4. 无序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。

1.2 有序列表(理解)

有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义。
在HTML标签中,<ol>ordered list)标签用于定义有序列表,列表排序以数字来显示,并且使用<li>标签来定义列表项。

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

1.3 自定义列表(重点)

自定义列表的使用场景
自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。
在HTML标签中,<dl>标签用于定义描述列表/定义列表(definition list),该标签会与<dt>定义项目/名字(definition title)和<dd>描述每一个项目/名字一起使用(definition description
其基本语法如下:

<dl>
	<dt>名词1</dt>
	<dd>名词1解释1</dd>
	<dd>名词1解释2</dd>
</dl>
  1. <dl> </dl>里面只能包含<dt>和<dd>
  2. <dt>和<dd>个数没有限制,经常是一个<dt>对应多个<dd>姐妹关系

1.4 列表总结

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

4.10 表单标签

现实中的表单,去办银行卡填写的单子。

1.1 为什么需要表单

使用表单目的是为了收集用户信息
在网页中,需要更用户进行交互,收集用户资料,此时就需要表单。

1.2 表单的组成

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

1.3 表单域

表单域是一个包含表单元素的区域。
在HTML标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递。

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

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

常用属性

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

要点:

  1. 写表单元素之前,应该有个表单域把它们进行包含
  2. 表单域是form标签

1.4 表单控件(表单元素)

在表单域中可以定义各种表单元素,这些表单元素就行允许用户在表单中输入或者选择的内容控件。

1.4.1 <input>表单元素

在英文单词中,input是输入的意思,而在表单元素中<input>标签用于收集用户信息。
<input>标签中,包含一个type属性,根据不同的type属性值,输入字段拥有很多种形式(可以是文本字段,复选框,掩码后的文本控件,单选按钮,按钮等)。
<input type="属性值" />

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

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

属性 属性值 描述
name 由用户自定义 定义input元素的名称
value 由用户自定义 规定input元素的值
checked checked 规定此input元素首次加载时应当被选中
maxlength 正整数 规定输入字段中的字符的最大长度
  1. name和value是每个表单元素都有的属性值,主要给后台人员使用
  2. name表单元素的名字,要求单选按钮和复选框要有相同的name值
  3. checked属性主要针对于单选按钮和复选框,主要作用——打开页面,就要可以默认选中某个表单元素。
  4. maxlength是用户可以在表单元素输入的最大字符数,一般较少使用
属性值 描述
button 定义可点击按钮(多数情况下,用于通过JavaScript启动脚本
checkbox 定义复选框
file 定义输入字段和“浏览”按钮,供文件上传
hidden 定义隐藏的输入字段
image 定义图像形式的提交按钮
password 定义密码字段,该字段中的字符被掩码
radio 定义单选按钮
reset 定义重置按钮。重置按钮会清除表单中的所有数据
submit 定义提交按钮,提交按钮会把表单数据发送到服务器
text 定义单行的输入字段,用户可以在其中输入文本。默认宽度为20个字符
1.4.2 <label>标签

<label>标签为input元素定义标签(标签)
<label>标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。

<label for = "sex"> female </label>
<input type = "radio" name = "sex" id = "sex" />
1.4.3 内容控件

在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。

<select>表单元素

使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,可以使用<select>标签控件定义下拉列表。
语法:

<select>
	<option>选项1</option>
	<option>....</option>
	...
</select>
  1. <select>中至少包含一对<option>
  2. <option>中定义selected = " selected"时,当前项即为默认选中项
<textarea>表单元素

使用场景:当用户输入内容较多的情况下,不能使用文本框表单了,此时可以使用<textarea>标签。
在表单元素中,<textarea>标签是用于定义多行文本输入的控件。
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。
语法:

<textarea rows="3" cols="20">
	文本内容
</textarea>
  1. 通过<textarea>标签可以轻松地创建多行文本输入框
  2. cols=“每行中的字符数”,rows=“显示的行数”,在实际开发中不会使用,都是使用CSS来改变大小。

综合案例-注册页面

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h4>人生得意需尽欢,莫使金樽空对月</h4>
    <table width="600">
        <!-- 第一行 -->
        <tr>
            <td>
                性别:
            </td>
            <td>
                <input type="radio" name="women" id="nv"> <label for="nv"><img src="images/"></label> girl
                <input type="radio" name="women" id="cs"><label for="cs"><img src="images/"></label>woman
            </td>
        </tr>
        <!-- 第二行 -->
        <tr>
            <td>
                生日:
            </td>
            <td>
                <select>
                    <option>--请选择年份--</option>
                    <option>2025</option>
                    <option>2024</option>
                    <option>2023</option>
                    <option>2022</option>
                </select>
                <select>
                    <option>--请选择月份--</option>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                </select>
                <select>
                    <option>--请选择日--</option>
                    <option>5</option>
                    <option>6</option>
                    <option>7</option>
                    <option>8</option>
                </select>
            </td>
        </tr>
        <!-- 第三行 -->
        <tr>
            <td>所在地区</td>
            <td><input type="text" value="Iceland"></td>
        </tr>
        <!-- 第四行 -->
        <tr>
            <td>婚姻状况:</td>
            <td>
                <input type="radio" name="emotion">inlove <input type="radio" name="emotion" checked="checked">nope
                <input type="radio" name="emotion">broken
            </td>
        </tr>
        <!-- 第五行 -->
        <tr>
            <td>学历:</td>
            <td><input type="text" value="博士"></td>
        </tr>

        <!-- 第六行 -->
        <tr>
            <td>喜欢的类型:</td>
            <td>
                <input type="checkbox" name="love"> cute
                <input type="checkbox" name="love"> charm
                <input type="checkbox" name="love"> childsh
                <input type="checkbox" name="love" checked="checked"> all
            </td>
        </tr>

        <!-- 第七行 -->
        <tr>
            <td>自我介绍:</td>
            <td>
                <textarea>个人简介</textarea>
            </td>
        </tr>

        <!-- 第八行 -->
        <tr>
            <td></td>
            <td><input type="submit" value="免费注册"></td>
        </tr>

        <!-- 第九行 -->
        <tr>
            <td></td>
            <td><input type="checkbox" checked="checked">我同意社区注册条款和会员加入标准</td>
        </tr>

        <tr>
            <td></td>
            <td>
                <a href="#">我是会员,立即登录</a>
            </td>
        </tr>

        <tr>
            <td></td>
            <td>
                <h5>我承诺</h5>
                <ul>
                    <li>I'm18</li>
                    <li>I'm serious</li>
                    <li>I'm sincerely</li>
                </ul>
            </td>
        </tr>
    </table>