前端小白要搞懂什么是HTML,看这一篇就够了
本文是《HTML5与CSS3基础语法自学教程》的第一篇,首发于【前端课湛】微信公众号。
导读:本小节主要讲解 HTML 的基本信息,其中包含 HTML 概念、HTML 发展历程和 HTML 标准版本的发展历程。通过本小节的学习可以对 HTML 的含义有个初步的理解,为后续进一步学习 HTML 相关概念打下基础。
1. 什么是 HTML
HTML 是个缩写形式,其全称为 Hyper Text Markup Language,翻译成中文的含义为 超文本标记语言。HTML 不是一门编程语言,而是一门标记语言,因为 HTML 是由一系列的 元素 组成,这些元素可以包含文本、超链接等不同内容。
如下示例代码是展示了基本的 HTML 结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML基本结构</title>
</head>
<body>
<h1>这是最基本的HTML结构</h1>
</body>
</html>
提示:上述示例代码的具体含义会在后续章节中进行讲解,这里仅作为展示。
想要对 HTML 的概念进一步了解的话,需要将概念分成 超文本 和 标记语言 两部分进行分别学习。
1.1. 什么是超文本
首先,先来讲一讲有关超文本的含义。HTML 最早是由文本发展而来的,关于文本我们一般是比较熟悉的。例如我们创建一个扩展名为.txt
的文件,并编写如下示例内容:
这是一个文本文件。
这样就创建了一个文本文件。现在我们将这个文本文件的扩展名修改为.html
或者.htm
,这样这个文本文件就变成了一个 HTML 文件。通过浏览器运行是可以显示这个 HTML 文件的内容了,如下图所示:
说明:上述示例中的 HTML 不是标准的 HTML。因为 HTML 的语法是松散型的,所以浏览器是可以正确解析并运行的。
随着 HTML 的发展,到目前为止已经不仅仅是文本内容这么简单,还可以显示图片、链接、音乐,甚至视频等更复杂的内容。
1.2. 什么是标记语言
理解了 超文本 的含义,接下来我们再来看看 标记语言 要如何来理解。首先,我们来看这样的一个描述:
标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。
—— 摘自【百度百科】
百度百科上关于 标记语言 的描述是比较抽象地、比较难懂地。我们可以这样简单地来理解 标记语言 的含义。标记语言 中的 标记 指的就是 HTML 中的元素(Element),而 HTML 就是由这样的一系列元素组成的,所以被称为 标记语言。
如下图所示展示了一个 HTML 元素的结构:
注意:HTML 的元素是给定的。无论是 HTML 元素的数量,还是 HTML 元素的作用都是固定不变的。换句话讲,我们学习 HTML 简单来说就是学习 HTML 元素的含义、作用以及用法等内容。
2. HTML 发展历程
理解了 HTML 的概念之后,我们再来介绍有关 HTML 的发展历程。
提示:这部分内容了解即可,毕竟对我们学习 HTML 本身是没有任何影响的。
早在 1989 年,蒂姆·伯纳斯-李为使世界各地的物理学家能够方便的进行合作研究,创建了使用于其系统的 HTML。蒂姆·伯纳斯-李 设计的 HTML 是以纯文字格式为基础,可以使用任何文本编辑器处理,最初仅有少量标记(TAG)而易于掌握运用。
随着 HTML 使用率的增加,人们不满足只能看到文字。1993 年,还是大学生的 马克·安德生 在他的 Mosaic 浏览器加入 <img>
标记,从此可以在 Web 页面上浏览图片。
但人们认为仅有图片还是不够,希望可将任何形式的媒体加到网页上,因此 HTML 得以不断地扩充和发展。
3. HTML 版本发展历程
自 1993 年之后 HTML 出现真正意义上的第一版,发展到至今,经历了 5 个大版本的更新和迭代。具体每个版本发布的时间如下:
- 超文本标记语言(第一版)—— 在 1993 年 6 月作为互联网工程工作小组(IETF)工作草案发布(并非标准)
- HTML 2.0 —— 1995 年 11 月作为 RFC 1866 发布,在 RFC 2854 于 2000 年 6 月发布之后被宣布已经过时
- HTML 3.2 —— 1997 年 1 月 14 日,W3C 推荐标准
- HTML 4.0 —— 1997 年 12 月 18 日,W3C 推荐标准
- HTML 4.01(微小改进)—— 1999 年 12 月 24 日,W3C 推荐标准
- HTML 5 —— 第一份正式草案已于 2008 年 1 月 22 日公布,正式版本发布于 2014 年 10 月 29 日
名词解释:
- IETF 是简写形式,其全称为 The Internet Engineering Task Force,翻译成中文的含义为 互联网工程工作小组。成立于1985年底,是全球互联网最具权威的技术标准化组织,主要任务是负责互联网相关技术规范的研发和制定,当前绝大多数国际互联网技术标准出自IETF。
- RFC 是简写形式,其全称为 Request For Comments,翻译成中文的含义为 请求评论。 是一系列以编号排定的文件,包含了关于 Internet 的几乎所有重要的文字资料。
- W3C 指 万维网联盟(World Wide Web),1994 年 10 月在麻省理工学院计算机科学实验室由 蒂姆·伯纳斯-李 创建,是 Web 技术领域最具权威和影响力的国际中立性技术标准机构。
在 HTML 版本发展历程中,大部分的版本都离我们远去了,也就是说我们并不关心,而需要关心的是 4.01 和 5 这两个版本。5 版本是 HTML 目前最新版本,也就是我们现在常说的 HTML5,而且现在学习 HTML 都是针对 5 这个版本进行学习的。
反而需要特别关心的是 4.01 版本。因为 4.01 版本依旧存在于一些较老的网站或者系统中,如果将来你的工作是对这些网站或者系统进行升级工作的话,那么就需要了解 4.01 这个版本的内容。
说明:在学习 HTML 的过程中,还需要注意 4.01 版本和 5 版本之间的差异。主要内容就是更新到 5 版本之后,删除了哪些内容,新增了哪些内容等。
4. 总结
本小节从 HTML 的概念开始讲解,然后又讲解了 HTML 的发展历程和 HTML 版本的发展历程等内容。其中:
- HTML 概念,我们分成了 超文本 和 标记语言 两方面进行具体讲解。这是有助于我们理解 HTML 的含义。
- HTML 发展历程,作为了解内容进行介绍。这部分内容知不知道,是不影响我们学习 HTML 具体的语法内容的。
- HTML 版本的发展历程,主要经历了 5 个版本的发展。其中,我们需要关注的是 4.01 和 5 这两个版本的具体内容,这两个版本关系到我们将来的学习和工作。
预告:下一节,我们将通过创建第一个 HTML 页面,来学习 HTML 的基本结构、声明、元素以及注释等内容。
前端小白要搞懂什么是HTML,看这一篇就够了的更多相关文章
- 前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS
我们知道,在NodeJS之前,由于没有过于复杂的开发场景,前端是不存在模块化的,后端才有模块化.NodeJS诞生之后,它使用CommonJS的模块化规范.从此,js模块化开始快速发展. 模块化的开发方 ...
- Java分布式锁,搞懂分布式锁实现看这篇文章就对了
随着微处理机技术的发展,人们只需花几百美元就能买到一个CPU芯片,这个芯片每秒钟执行的指令比80年代最大的大型机的处理机每秒钟所执行的指令还多.如果你愿意付出两倍的价钱,将得到同样的CPU,但它却以更 ...
- Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了
目录 引言 构建示例 match operator 参数 analyzer lenient 参数 Fuzziness fuzzniess 参数 什么是模糊搜索? Levenshtein Edit Di ...
- 搞定SEO,看这一篇就够了
一.SEO入门 1.SEO是什么? SEO(Search Engine Optimization)中文意思为搜索引擎优化.在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在 ...
- 链表算法题二,还原题目,用debug调试搞懂每一道题
文章简述 大家好,本篇是个人的第4篇文章. 承接第3篇文章<开启算法之路,还原题目,用debug调试搞懂每一道题>,本篇文章继续分享关于链表的算法题目. 本篇文章共有5道题目 一,反转链表 ...
- 新手入门HTML5开发,你必须先搞懂这6个问题
凭借着跨平台,实时更新,无需安装,易于分发等众多优点,HTML5受到越来越多企业的青睐.而凭借着入门相对简单的优势,很多人编程初学者都选择学习HTML5.但对于初学者来说,学习HTML5之前,会有很多 ...
- 来一轮带注释的demo,彻底搞懂javascript中的replace函数
javascript这门语言一直就像一位带着面纱的美女,总是看不清,摸不透,一直专注服务器端,也从来没有特别重视过,直到最近几年,javascript越来越重要,越来越通用.最近和前端走的比较近,借此 ...
- 前端小白想要编写可维护的js
我是一名前端小白,之前没写过多少代码,心里没有代码质量这个概念,人人都说代码是团队的产物,应该将代码写规范,但是我对具体什么样的代码是可维护的是茫然的. 我没写过多少代码,本来好多东西就不咋会,每次给 ...
- 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
作为一名前端工程师,必须搞懂JS中的prototype.__proto__与constructor属性,相信很多初学者对这些属性存在许多困惑,容易把它们混淆,本文旨在帮助大家理清它们之间的关系并彻底搞 ...
随机推荐
- 微擎 pdo_fetchall() 函数
微擎 pdo_fetchall() 函数 注意点: 该函数内部直接执行原生 SQL 语句 如果在传递表名的时候使用了 tablename .则不加 ims_ 前缀 参数的传递通过 :param 的形式 ...
- Hadoop MapReduce常用输入输出格式
这里介绍MapReduce常用的几种输入输出格式. 三种常用的输入格式:TextInputFormat , SequenceFileInputFormat , KeyValueInputFormat ...
- ubantu删除源码安装文件
1.在安装目录下执行 make uninstall (如安装目录为/opt/software/opencv3.1.0/release) 2.删除系统相关文件 cd /usr sudo find . - ...
- 什么是PHP Socket?
什么是 Socket? Socket 的中文翻译过来就是“套接字”.套接字是什么,我们先来看看它的英文含义:插座. Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通 ...
- nginx支持wss配置
nginx证书 nginx.conf配置
- SpringBoot学习(六)—— springboot快速整合RabbitMQ
目录 Rabbit MQ消息队列 简介 Rabbit MQ工作模式 交换机模式 引入RabbitMQ队列 代码实战 Rabbit MQ消息队列 @ 简介 优点 erlang开发,并发能力强. 社区活跃 ...
- 【Luogu P1090】合并果子
Luogu P1090 [解题思路] 刚看到这题的时候,第一反应就是每次取两个最小,然后重新排序,再取最小.但是这样会TLE. 既然找最小的,那就可以利用单调队列了.显然输入的数据是不具有单调性的,但 ...
- linux alias(命令别名)
alias:获取定义的所有命令别名 alias NAME='COMMAND':定义别名 unalias NAME:撤销别名
- day 26 约束、自定义异常、加密hashlib、logging
一.约束 建议使用: class BaseMessage(object): def send(self): """ 必须继承BaseMessage,然后其中必须编写sen ...
- 2019牛客暑期多校训练营(第二场)J.Subarray
题意:给你一个n 表示有n段连续的1序列 现在问你 在总长度为0~1e9-1的范围内有多少个大于0的子段 思路:假设我们统计了当前的前缀和 我们显然可以用树状数组维护一下前缀和 这样我们可以nlogn ...