真是低调le 发表于 2021-9-13 20:50:59

003 初识HTML

本帖最后由 真是低调le 于 2021-9-13 20:50 编辑

·编辑器相关

前端开发的编辑器软件,我首先推荐 VS Code,其次推荐Sublime Text。

有人说 WebStorm 也不错?但真实情况是,自从VS Code 问世之后,用 WebStorm 的人越来越少了。

PS:文件的后缀名不能决定文件格式,只能决定打开文件打开的方式。

VS Code 的使用

详情请移步至:[第一次使用VS Code时你应该知道的一切配置](留空)

Sublime Text 的使用

详情请移步至:(留空)

HTML的概述

HTML的概念

HTML 全称为 HyperText Markup Language,译为 超文本标记语言。

HTML 不是一种编程语言,是一种描述性的 标记语言。

作用:HTML是负责描述文档 语义 的语言。

概念:超文本

所谓的超文本,有两层含义:

(1)图片、音频、视频、动画、多媒体等内容,成为超文本,因为它们超出了文本的限制。

(2)不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件进行连接。即:超级链接文本。

概念:标记语言

HTML 不是一种编程语言,是一种描述性的 标记语言。这主要有两层含义:

(1)标记语言是一套标记标签。比如:标签<a>表示超链接、标签<img>表示图片、标签<h1>表示一级标题等等,它们都是属于 HTML 标签。

说的通俗一点就是:网页是由网页元素组成的,这些元素是由 HTML 标签描述出来,然后通过浏览器解析,就可以显示给用户看了。

(2)编程语言是有编译过程的,而标记语言没有编译过程,HTML标签是直接由浏览器解析执行。

HTML是负责描述文档语义的语言

HTML 格式的文件是一个纯本文文件(就是用txt文件改名而成),用一些标签来描述语义,这些标签在浏览器页面上是无法直观看到的,所以称之为“超文本标记语言”。

接下来,我们需要学习 HTML 中的很多“标签对儿”,这些“标签对儿”能够给文本不同的语义。

比如,面试的时候问你,<h1>`标签有什么作用?

- 正确答案:给文本增加主标题的语义。
- 错误答案:给文字加粗、加黑、变大。

关乎“语义”的更深刻理解,等接下来我们学习了各种标签,就明白了。

HTML的历史

http://img.smyhvae.com/20151001_1001.png

其中,我们专门来对XHTML做一个介绍。

XHTML介绍:
XHTML:Extensible Hypertext Markup Language,可扩展超文本标注语言。
XHTML的主要目的是为了取代HTML,也可以理解为HTML的升级版。
HTML的标记书写很不规范,会造成其它的设备(ipad、手机、电视等)无法正常显示。
XHTML与HTML4.0的标记基本上一样。
XHTML是严格的、纯净的HTML。

我们稍后将对XHTML的编写规范进行介绍。

HTML的专有名词

- 网页 :由各种标记组成的一个页面就叫网页。
- 主页(首页) : 一个网站的起始页面或者导航页面。
- 标记:比如`<p>`称为开始标记 ,`</p>`称为结束标记,也叫标签。每个标签都规定好了特殊的含义。
- 元素:比如`<p>内容</p>`称为元素.
- 属性:给每一个标签所做的辅助信息。
- XHTML:符合XML语法标准的HTML。
- DHTML:dynamic,动态的。`javascript + css + html`合起来的页面就是一个 DHTML。
- HTTP:超文本传输协议。用来规定客户端浏览器和服务端交互时数据的一个格式。SMTP:邮件传输协议,FTP:文件传输协议。

HTML结构详解

HTML标签通常是成对出现的(双边标记),比如 <div>和 </div>;也有少部分单标签(单边标记),如:<br />、<hr />和<img src="images/1.jpg" />等。

属性与标记之间、各属性之间需要以空格隔开。属性值以双引号括起来。


html骨架标签分类

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


快速生成 html 的骨架

方式1:在 VS Code 中新建 html 文件,输入html:5,按 Tab键后,自动生成的代码如下:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>

</body>
</html>

方式2:在Sublime Text中安装`Emmet`插件。新建html文件,输入`html:5`,按`Tab`键后,自动生成的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
        <meta charset="UTF-8">
        <title>Document</title>
</head>
<body>

</body>
</html>

方式3:在Sublime Text中安装`Emmet`插件。新建html文件,输入html:xt,按Tab键后,自动生成的代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>Document</title>
</head>
<body>

</body>
</html>

上面的方式2和方式3中,我们会发现,第一行的内容有些不太一样,这就是我们接下来要讲的**文档声明头**。

1、文档声明头

任何一个标准的HTML页面,第一行一定是一个以<!DOCTYPE ……>开头的语句。这一行,就是文档声明头,即 DocType Declaration,简称DTD。

DTD可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

HTML4.01有哪些规范呢?

HTML4.01这个版本是IE6开始兼容的。HTML5是IE9开始兼容的。如今,手机、移动端的网页,就可以使用HTML5了,因为其兼容性更高。

说个题外话,html1 至 html3 是美国军方以及高等研究所用的,并未对外公开。

HTML4.01里面有两大种规范,每大种规范里面又各有3种小规范。所以一共6种规范(见下图)。

HTML4.01里面规定了普通和XHTML两大种规范。HTML觉得自己有一些规定不严谨,比如,标签是否可以用大写字母呢?<H1></H1>所以,HTML就觉得,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。

总结一下,HTML4.01一共有6种DTD。说白了,HTML的第一行语句一共有6种情况:

http://img.smyhvae.com/20170629_1600.png

下面对上图中的三种小规范进行解释:

strict:

表示“严格的”,这种模式里面的要求更为严格。这种严格体现在哪里?有一些标签不能使用。
比如,u标签,就是给一个本文加下划线,但是这和HTML的本质有冲突,因为HTML最好是只负责语义,不要负责样式,而u这个下划线是样式。所以,在strict中是不能使用u标签的。

那怎么给文本增加下划线呢?今后将使用css属性来解决。

XHTML1.0更为严格,因为这个体系本身规定比如标签必须是小写字母、必须严格闭合标签、必须使用引号引起属性等等。

Transitional:表示“普通的”,这种模式就是没有一些别的规范。

Frameset:表示“框架”,在框架的页面使用。

在sublime输入的html:xt,x表示XHTML,t表示transitional。

在HTML5中极大的简化了DTD,也就是说HTML5中就没有XHTML了。HTML5的DTD(文档声明头)如下:

<!DOCTYPE html>

2、页面语言 lang

下面这行标签,用于指定页面的语言类型:

<html lang="en">

最常见的语言类型有两种:

- en:定义页面语言为英语。

- zh-CN:定义页面语言为中文。

3、头标签 head

头标签内部的常见标签如下:

- <title>:指定整个网页的标题,在浏览器最上方显示。
- <base>:为页面上的所有链接规定默认地址或默认目标。
- <meta>:提供有关页面的基本信息
- <body>:用于定义HTML文档所要显示的内容,也称为主体标签。我们所写的代码必须放在此标签內。
- <link>:定义文档与外部资源的关系。

meta 标签:

meta表示“元”。“元”配置,就是表示基本的配置项目。

常见的几种 meta 标签如下:

(1)字符集 charset:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

字符集用meta标签中的`charset`定义,charset就是character set(即“字符集”),即网页的编码方式。

字符集(Character set)是多个字符的集合。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

上面这行代码非常关键, 是必须要写的代码,否则可能导致乱码。比如你保存的时候,meta写的和声明的不匹配,那么浏览器就是乱码。

utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312等。关于“编码方式”,我们在下一段会详细介绍。

(2)视口 viewport:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

width=device-width :表示视口宽度等于屏幕宽度。

viewport 这个知识点,初学者还比较难理解,以后学 Web 移动端的时候会用到。

(3)定义“关键词”:

举例如下:

<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />

这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。

(4)定义“页面描述”:

meta除了可以设置字符集,还可以设置关键字和页面描述。

只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做**SEO**(search engine optimization,搜索引擎优化)。

设置页面描述的举例:

<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />

效果如下:

http://img.smyhvae.com/20170629_1743.png

上面的几种<meta>标签都不用记,但是另外还有一个<meta>标签是需要记住的:

<meta http-equiv="refresh" content="3;http://www.baidu.com">

上面这个标签的意思是说,3秒之后,自动跳转到百度页面。

title 标签:

用于设置网页标题:

<title>网页的标题</title>

title标签也是有助于SEO搜索引擎优化的。

base标签:

<base href="/">

base 标签用于指定基础的路径。指定之后,所有的 a 链接都是以这个路径为基准。

4、<body>标签

<body>标签的属性有:

- bgcolor:设置整个网页的背景颜色。
- background:设置整个网页的背景图片。
- text:设置网页中的文本颜色。
- leftmargin:网页的左边距。IE浏览器默认是8个像素。
- topmargin:网页的上边距。
- rightmargin:网页的右边距。
- `bottommargin`:网页的下边距。

<body>标签另外还有一些属性,这里用个例子来解释:

http://img.smyhvae.com/2015-10-02-cnblogs_html_39.png

上方代码中,当我们对`点我点我`这几个字使用超链时,link属性表示默认显示的颜色、alink属性表示鼠标点击但是还没有松开时的颜色、vlink属性表示点击完成之后显示的颜色。效果如下:

http://img.smyhvae.com/2015-10-02-cnblogs_html_05.gif
页: [1]
查看完整版本: 003 初识HTML