Hyper Text Markup Language,超文本标记语言。标记语言,解释执行。
###**历史:**
1. 创始人:蒂姆·伯纳斯。
2. 1999年想改成xml,但是向大众妥协,创建了html5和xhtml。XML作为独立的产品推出了。
3. html缺陷:内容形式不可分离,标记单一,数据不能复用等。
4. w3c组织,制定规则(公司:规则--服务--产品--项目)
**HTML存在的问题:**
1. Web浏览器之间兼容性很低。
2. 文档结构不够明确,全是div。
3. web应用程序的功能受到了限制。
**HTML5的优势与改变:**
1. 扩展名和内容类型不变,html htm,"text/html"
2. <!DOCTYPE html>声明,不区分大小写,不区分单双引号。
3. 字符编码<meta charset="UTF-8">
4. 标记省略
5. boolean类型
6. 省略引号
###**HTML的核心:标签。**
标记:用于描述功能的符号。分为封闭式和非封闭式。比如:`<p></p> <br>`
元素:标记里面的内容。`<body></body>`里面的就叫body元素。
属性:修饰标记,多个属性之间不分先后,标准属性(通用属性)。
通用属性:
```
·id:整个文档每个标签可以声明一个唯一的id号
·style:为元素指定CSS样式
·class:指定元素所属的类型
·title:指定标签的弹出式提示语
```
![语法.png](https://upload-images.jianshu.io/upload_images/1493431-1696bef770e2b176.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
```<标记名 属性1=属性值1 属性2=属性值2> 内容(元素) </标记名>```
元素分为:块元素,内联元素,内联块元素
块元素也叫行元素,单独占一行。
先看最基本的HTML代码:
```
<!-- 这里是注释 -->
<html><!-- 标记这是个html文件-->
<!-- 下面的翻译过来就懂了-->
<head>
<title>我是标题</title>
</head>
<body>
Hello World!
</body>
</html>
```
但是这样写很可能会乱码,至于什么是乱码,什么是编码格式,请百度。
所以要再head里面加入:
```
<meta charset="utf-8"> <!-- 表示下面文字的编码格式为utf-8 -->
<!-- meta称为元数据,即描述数据的数据。比如30,不知道是啥,加个元,就知道是30块钱。 -->
```
然后html经历了很多个版本,一代版本一代神,现在流行的是html5,那么要告诉验证器我这是什么版本。
加入:
```
<!DOCTYPE html>
```
```HTML声明中使用的标签是很特殊的(不同于前面介绍的标签语法),使用<!开始,结束也不用关闭符.```
其他版本的DOCTYPE文档类型:
```
<!--HTML4.01文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font、b等),不可以使用框架-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--HTML4.01文档严格定义类型,此类型定义的文档可以使用HTML中的标签与元素,不能包含不被W3C推荐的标签(例如:font、b等),不可以使用框架-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!--HTML4.01文档框架定义类型,此类型等同于HTML4.01文档过渡定义类型,但可以使用框架-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!--XHTML1.0文档过渡定义类型,此类型定义的文档可以使用HTML中的标签与元素包括一些不被W3C推荐的标签(例如:font、b等),不可以使用框架-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--XHTML1.0文档严格定义类型,此类型定义的文档只可以使用HTML中定义的标签与元素,不能包含不被W3C推荐的标签(例如:font、b)(梦之都就使用了此类型),不可以使用框架-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--XHTML1.0文档框架定义类型,等同于XHTML1.0文档过渡定义类型,但可以使用框架-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<!--XHTML1.1文档严格定义类型,等同于XHTML1.0文档过渡定义类型-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
```