第01阶段.前端基础.认识HTML

---
typora-copy-images-to: media
---

> 第01阶段.前端基础.认识HTML
## 学习目标

- 理解
  - HTML的概念
  - HTML标签的分类
  - HTML标签的关系
  - HTML标签的语义化
- 应用
  - HTML骨架格式
  - sublime基本使用

# 1. HTML 初识

- HTML 指的是超文本标记语言 (**H**yper **T**ext **M**arkup **L**anguage)是用来描述网页的一种语言。
- HTML 不是一种编程语言,而是一种标记语言 (markup language)
- 标记语言是一套标记标签 (markup tag)

**pink老师 一句话说出html作用:**

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

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

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

```html
<img src="timg.jpg" />
```

**门外汉眼中的效果页面**

<img src="media/title1.png"  />

**我们要做的html页面**

<img src="media/title.png" />

**html 总结:**

* html 是超文本标记(标签)语言
* 我们学习html 主要学习html标签
* 我们用html标签描述网页元素。 比如 图片标签 、文字标签、链接标签等等
* 标签有自己的语法规范,所有的html标签都是用 <> 表示的
* H(很)T(甜)M(蜜)L(啦) 是很快乐的一件事情

## 1.1 HTML骨架标签

日常生活的书信,我们要遵循共同的约定。

<img src="media/mess.png" >

同理:HTML 有自己的语言语法骨架格式:(要遵循,要专业) 要求务必非常流畅的默写下来。。

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

**课堂练习1: **  

书写我们的第一个HTML 页面。

1. 新建一个 01-html骨架标签  的 TXT 文件。

2. 里面写入刚才的HTML 骨架。 

3. 把后缀名改为 .HTML。

4. 右击--谷歌浏览器打开。

   ```html
   <html>  
       <head>    
           <title>我的第一个页面</title>
       </head>
       <body>
              你我之间 黑马洗练 月薪过万   一飞冲天  
       </body>
   </html>
   ```


 <img src=‘./media/01html骨架.jpg‘>

为了便于记忆,我们请出刚才要辞职回家养猪的二师兄来帮忙, 我称之为  猪八戒记忆法

<img src="media/pig.png" width="500" />

#### 团队约定大小写

HTML标签名、类名、标签属性和大部分属性值统一用小写

*推荐:*

```
<head>    
        <title>我的第一个页面</title>
 </head>
```

*不推荐:*

```
<HEAD>    
        <TITLE>我的第一个页面</TITLE>
</HEAD>
```

## 1.2 HTML元素标签分类

**标签:**

在HTML页面中,带有“< >”符号的元素被称为HTML标签,如上面提到的 &lt;html&gt;、&lt;head&gt;、&lt;body&gt;都是HTML骨架结构标签。

**分类:**

1. 常规元素(双标签)

```html
<标签名> 内容 </标签名>   比如 <body>  我是文字  </body>
```

* 该语法中“<标签名>”表示该标签的作用开始,一般称为“开始标签(start tag)”,“</标签名>” 表示该标签的作用结束,一般称为“结束标签(end tag)”。
* 和开始标签相比,结束标签只是在前面加了一个关闭符“/”。
* 我们以后接触的基本都是双标签

2. 空元素(单标签)

```html
<标签名 />  比如  <br />
```

* 空元素 用单标签来表示, 简单点说,就是里面不需要包含内容, 只有一个开始标签不需要关闭。
* 这种单身狗标签非常少,一共没多少,我们多记忆就好

**pink老师 一句话说出他们:**

> 世界上单身狗毕竟是少数的, 大部分还是喜欢成双成对,不要拉下你的另外一半,对待一个双标签要有始有终。

## 1.3 HTML标签关系

主要针对于**双标签** 的相互关系分为两种:  请大家务必熟悉记住这种标签关系,因为后面我们标签嵌套特别多,很容易弄混他们的关系。

1. 嵌套关系

```html
<head> 
 <title> </title>
</head>
```

<img src="media/father.jpg">

2.并列关系

```html
<head></head>
<body></body>
```

<img src="media/xiong.jpg" width="500">

**倡议:**

> ```html
>  如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位(一个tab是4个空格)。如果是并列关系,最好上下对齐。
> ```

> html双标签 可以分为  有 一种是 父子级 包含关系的标签      一种是 兄弟级 并列关系的标签

## 1.4 课堂一练

**请问下列哪组标签关系是错误的? **

- [ ] <head> </head><body> </body>


- [ ] <div> <strong></strong> </div>


- [x] <head> <title></head> </title>


- [ ] <body> <div></div> </body>

# 2. 代码开发工具(书写代码)

- 为了提高我们的开发效率
- 减少代码的出错我们不提倡用记事本开发,我们有更好的犀利哥。

  <img src="media/s.png" />

- Dreamweaver
- SublimeText
- WebStorm
- HBuilder
- VScode

有人说:

  普通青年    Dreamweaver

  文艺青年    sublime

  高手和傻子  用记事本

  其实。。。。

  <img src="media/node.png" />


感觉: 这个feel 倍儿爽 feel feel倍儿爽 爽爽爽爽!

 <img src="media/shuang.gif" />


sublime有非常多的优点, 最开心的就是非常轻量级,打开速度超快,后面更高的功能,后面再接触。

**sublime生成html骨架小技巧**

*  双击打开软件
*  新建文件(ctrl+n)
*  保存(ctrl+s),保存为:文件名.html ( 注意 后缀名必须是 .html )
*  放大缩小代码  按住 ctrl  在 滚动鼠标滚轮  或者   ctrl+ 加号 键     和 ctrl +   减号键    
*  生成页面骨架结构
   - html: 5    按下tab键    或者 
   - !    按下tab键
*  在浏览器中预览页面
   - 右键在  浏览器中打开

# 3. 文档类型<!DOCTYPE>

**用法:**

```html
<!DOCTYPE html>
```

**作用:**

<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

**pink老师 一句话说出他们:**

   <!DOCTYPE html>  就是告诉浏览器按照HTML5 规范解析页面.

**团队约定:**

> ```
> HTML文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明
> ```

# 4. 页面语言lang

~~~html
<html lang="en">  指定html 语言种类
~~~

最常见的2个:

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

>  <html lang="zh-CN">  指定该html标签 内容 所用的语言为中文

**团队约定:**

> ```
> 考虑浏览器和操作系统的兼容性,目前仍然使用 zh-CN 属性值
> ```

**@拓展阅读:**

简单来说,可能对于程序来说没有太大的作用,但是它可以告诉浏览器,搜索引擎,一些处理Html的程序对页面语言内容来做一些对应的处理或者事情。
比如可以

- 根据根据lang属性来设定不同语言的css样式,或者字体
- 告诉搜索引擎做精确的识别
- 让语法检查程序做语言识别
- 帮助翻译工具做识别
- 帮助网页阅读程序做识别
  等等

# 5. 字符集

~~~html
<meta charset="UTF-8" />
~~~

~~~
字符集(Character set)是多个字符的集合。

计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
~~~

utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312。

* gb2312 简单中文  包括6763个汉字  GUO BIAO
* BIG5   繁体中文 港澳台等用
* GBK包含全部中文字符    是GB2312的扩展,加入对繁体字的支持,兼容GB2312
* UTF-8则基本包含全世界所有国家需要用到的字符
* **这句代码非常关键, 是必须要写的代码,否则可能引起乱码的情况。**

**pink老师 一句话说出他们:**

> 这句话是让 html 文件是以 UTF-8 编码保存的, 浏览器根据编码去解码对应的html内容。

**团队约定:**

> ```
> 一般情况下统一使用 "UTF-8" 编码, 请尽量统一写成标准的 "UTF-8",不要写成 "utf-8" 或 "utf8" 或 "UTF8"。
> ```

# 6. HTML标签的语义化

白话: 所谓标签语义化,就是指标签的含义。

**pink老师 一句话说出语义化目的:**

> 根据标签的语义,在合适的地方给一个最为合理的标签,让结构更清晰。

1. 方便代码的阅读和维护
2. 同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容
3. 使用语义化标签会具有更好地搜索引擎优化

<img src=‘./media/02语义化.jpg‘>

语义是否良好: 当我们去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。(  裸奔起来一样好看 )

遵循的原则:先确定语义的HTML ,再选合适的CSS。所以,**我们接下来学习html标签,要根据语义去记忆。** HTML网页中任何元素的实现都要依靠HTML标签。

# 7. 拓展阅读@

## 单身狗的由来

单身狗一词最早是出自网络社区,起源与大话西游有关。

大话西游之大圣娶亲最后一幕“他好像一条狗”由来。

 <img src=‘./media/dog.jpg‘>
 <img src=‘./media/dog2.jpg‘>
 <img src=‘./media/dog3.jpg‘>

相关推荐