# HTML 语言简介 ## 概述 HTML 是网页使用的语言,定义了网页的结构和内容。浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页。 HTML 的全名是“超文本标记语言”(HyperText Markup Language),上个世纪90年代由欧洲核子研究中心的物理学家蒂姆·伯纳斯-李(Tim Berners-Lee)发明。它的最大特点就是支持超链接,点击链接就可以跳转到其他网页,从而构成了整个互联网。 1999年,HTML 4.01 版发布,成为广泛接受的 HTML 标准。2014年,HTML 5 发布,这是目前正在使用的版本。 浏览器的网页开发,涉及三种技术:HTML、CSS 和 JavaScript。HTML 语言定义网页的结构和内容,CSS 样式表定义网页的样式,JavaScript 语言定义网页与用户的互动行为。HTML 语言是网页开发的基础,CSS 和 JavaScript 都是基于 HTML 才能生效,即使没有这两者,HTML 本身也能使用,可以完成基本的内容展示。本教程只介绍 HTML 语言。 下面就是一个简单网页的 HTML 源码。 ```html
Hello World
``` 上面这段代码,可以保存成文件`hello.html`。浏览器打开这个本地文件,就能看到文字“Hello World”。 浏览器右键菜单的“查看源码”(View page source),可以展示当前网页的 HTML 源码。 ## 网页的基本概念 ### 标签 网页的 HTML 代码由许许多多不同的标签(tag)构成。学习 HTML 语言,就是学习各种标签的用法。 下面就是标签的一个例子。 ```htmlhello world
`标签。 嵌套时,必须保证正确的闭合顺序,不能跨层嵌套,否则会出现意想不到的渲染结果。 ```html
hello world
`标签对应网页的`p`元素。 嵌套的标签就构成了网页元素的层级关系。 ```html
hello world
hello
world
``` 上面代码中,`p`元素是块级元素,因此浏览器会将内容分成两行显示。 行内元素默认与其他元素在同一行,不产生换行。比如,`span`就是行内元素,通常用来为某些文字指定特别的样式。 ```html hello world ``` 上面代码中,`span`元素是行内元素,因此浏览器会将两行内容放在一行显示。 ### 属性 属性(attribute)是标签的额外信息,使用空格与标签名和其他属性分隔。 ```html ``` 上面代码中,``标签有两个属性:`src`和`width`。 属性可以用等号指定属性值,比如上例的`demo.jpg`就是`src`的属性值。属性值一般放在双引号里面,这不是必需的,但推荐总是使用双引号。 注意,属性名是大小写不敏感的,`onclick`和`onClick`是同一个属性。 HTML 提供大量属性,用来定制标签的行为,详细介绍请看《元素的属性》一章。 ## 网页的基本标签 符合 HTML 语法标准的网页,应该满足下面的基本结构。 ```html