本教程原出处:网道
本教程文档在原作基础上进行了一定的补充、修改和完善,以满足个人学习、工作中的需要,亦可作为个人口袋书使用。
本教程文档中的原文部分,其版权仍归原作者所有。
本教程文档仅作个人学习、教学和工作使用,任何他人、或机构、组织不得恶意传播、复制本文档,或将本教程文档用做商用

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 5 规范格式):
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><title>网页标题</title>
</head>
<body><p>Hello World</p>
</body>
</html>
  • 上面这段代码,可以保存成文件hello.html。浏览器打开这个本地文件,就能看到文字“Hello World”。
  • 浏览器(为行文方便,本教程中凡提到使用浏览器渲染页面时,均指 Chrome 浏览器)右键菜单的“查看源码”(View page source),可以展示当前网页的 HTML 源码。
  • 注:浏览器通常也支持 htm扩展名。
  • 网页的基本概念
  • 标签:网页的 HTML 代码由许许多多不同的标签(tag)构成。学习 HTML 语言,就是学习各种标签的用法。
  • 注:标签也可称为标记。
  • 下面就是标签的一个例子:
<title>网页标题</title>
  • 上面代码中,<title></title>就是一对标签。
    标签用来告诉浏览器,如何处理这段代码。标签的内容就是浏览器所要渲染的、展示在网页上的内容。标签放在一对尖括号里面(比如<title>),大多数标签都是成对出现的,分成开始标签和结束标签,结束标签在标签名之前加斜杠(比如</title>)。但是,也有一些标签不是成对使用,而是只有开始标签,没有结束标签,比如上一节示例的</meta>标签。
<meta charset="utf-8">
  • 上面代码中,<meta>标签就没有结束标签</meta>。这种单独使用的标签,通常是因为标签本身就足够完成功能了,不需要标签之间的内容。实际应用中,它们主要用来提示浏览器,做一些特别处理。
  • 标签可以嵌套,如下:
<div><p>hello world</p></div>
  • 上面代码中,<div>标签内部包含了一个<p>标签。嵌套时,必须保证正确的闭合顺序,不能跨层嵌套(交叉嵌套),否则会出现意想不到的渲染结果。
<div><p>hello world</div></p>
  • 上面代码就是错误的嵌套,闭合顺序不正确。
    HTML 标签名是大小写不敏感,比如<title>和<TITLE>是同一个标签。不过,一般习惯(或规范)都是使用小写。
  • 另外,HTML 语言忽略缩进和换行。下面几种写法的渲染结果是一样的。
<title>网页标题</title><title>网页标题
</title><title>网页
标题</title>
  • 进一步说,整个网页的 HTML 代码完全可以写成一行,浏览器照样解析,结果完全一样。所以,正式发布网页之前,开发者有时会把源码压缩成一行,以减少传输的字节数。
  • 各种网页的样式效果,比如内容的缩进和换行,主要靠 CSS 来实现。
  • 元素
  • 浏览器渲染网页时,会把 HTML 源码解析成一个标签树,每个标签都是树的一个节点(node)。这种节点就称为网页元素(element)。所以,“标签”和“元素”基本上是同义词,只是使用的场合不一样:标签是从源码角度来看,元素是从编程角度来看,比如<p>标签对应网页的p元素。
  • 嵌套的标签就构成了网页元素的层级关系。
<div><p>hello world</p></div>
  • 上面代码中,div元素内部包含了一个p元素。上层元素又称为“父元素”,下层元素又称为“子元素”,即div是p的父元素,p是div的子元素。
  • 块级元素,行内元素
  • 所有元素可以分成两大类:块级元素(block)和行内元素(inline)。
  • 块级元素默认占据一个独立的区域,在网页上会自动另起一行,占据 100% 的宽度。
<p>hello</p>
<p>world</p>
  • 上面代码中,p元素是块级元素,因此浏览器会将内容分成两行显示。
  • 行内元素默认与其他元素在同一行,不产生换行。比如,span就是行内元素,通常用来为某些文字指定特别的样式。
<span>hello</span>
<span>world</span>
  • 上面代码中,span元素是行内元素,因此浏览器会将两行内容放在一行显示。
  • 属性
  • 属性(attribute)是标签的额外信息,使用空格与标签名和其他属性分隔。
<img src="demo.jpg" width="500">
  • 上面代码中,<img>标签有两个属性:src和width。
  • 属性可以用等号指定属性值,比如上例的demo.jpg就是src的属性值。属性值一般放在双引号里面,这不是必需的,但推荐总是使用双引号。
    注意,属性名是大小写不敏感的,onclick和onClick是同一个属性。
  • HTML 提供大量属性,用来定制标签的行为,详细介绍请看《元素的属性》一章。
  • 网页的基本标签
  • 符合 HTML 语法标准的网页,应该满足下面的基本结构:
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><title></title>
</head>
<body>
</body>
</html>
  • 不管多么复杂的网页,都是从上面这个基本结构衍生出来的。
  • 前面说过,HTML 代码的缩进和换行,对于浏览器不产生作用。所以,上面的代码完全可以写成一行,渲染结果不变。上面这样分行写,只是为了提高可读性。
  • 下面就依次介绍,这个基本结构的主要标签。它们构成了网页的骨架。
  • <!doctype>
  • 网页的第一个标签通常是<!doctype>,表示文档类型,告诉浏览器如何解析网页。
  • 一般来说,只要像下面这样,简单声明doctype为html即可。浏览器就会按照 HTML 5 的规则处理网页。
<!doctype html>
  • 有时,该标签采用完全大写的形式,以便区别于正常的 HTML 标签。因为<!doctype>本质上不是标签,更像一个处理指令。
<!DOCTYPE html>
  • <html>
  • <html>标签是网页的顶层容器,即标签树结构的顶层节点,也称为根元素(root element),其他元素都是它的子元素。一个网页只能有一个<html>标签。
  • 该标签的lang属性,表示网页内容默认的语言。
<html lang="zh-CN">
  • 上面代码表示,网页是中文内容。如果是英文内容,zh-CN要改成en。更详细的介绍,参见《元素的属性》一章。
  • <head>
  • <head>标签是一个容器标签,用于放置网页的元信息。它的内容不会出现在网页上,而是为网页渲染提供额外信息。
<!doctype html>
<html><head><title>网页标题</title></head>
</html>
  • <head>是<html>的第一个子元素。如果网页不包含<head>,浏览器会自动创建一个。
  • <head>的子元素一般有下面七个,后文会一一介绍。
    <meta>:设置网页的元数据。
    <link>:连接外部样式表。
    <title>:设置网页标题。
    <style>:放置内嵌的样式表。
    <script>:引入脚本。
    <noscript>:浏览器不支持脚本时,所要显示的内容。
    <base>:设置网页内部相对 URL 的计算基准。
  • <meta>
  • <meta>标签用于设置或说明网页的元数据,必须放在<head>里面。一个<meta>标签就是一项元数据,网页可以有多个<meta>。<meta>标签约定放在<head>内容的最前面。
  • 不管什么样的网页,一般都可以放置以下两个<meta>标签。
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Page Title</title>
</head>
  • 上面例子中,第一个<meta>标签表示网页采用 UTF-8 格式编码,第二个<meta>标签表示网页在手机端可以自动缩放。
  • <meta>标签有五个属性,下面依次介绍。

HTML- 01:HTML 语言简介相关推荐

  1. 第01节 Go语言简介

    第01节 Go语言简介 本节内容: Go简介. Go语言应用. Go成功的项目. 为什么选择Go语言. Go语言特点总结. 1.1 Go简介 **Go (或 Golang )**是 Google 20 ...

  2. JavaScript学习笔记01【基础——简介、基础语法、运算符、特殊语法、流程控制语句】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  3. html(+css)/01/html语言基础,标记,标记语法,html文档结构

    厚积薄发 html(+css)/01/html语言基础,标记,标记语法,html文档结构 工资:4500元左右/月 最好的学习html的方法,就是多参考别人的网页源代码: 查看源代码: 1,打开网页/ ...

  4. 01 【nodejs简介】

    01 [nodejs简介] 1.前言 Node 的重要性已经不言而喻,很多互联网公司都已经有大量的高性能系统运行在 Node 之上.Node 凭借其单线程.异步等举措实现了极高的性能基准.此外,目前最 ...

  5. 【ENVI入门系列】01.ENVI产品简介与入门

    [ENVI入门系列]01.ENVI产品简介与入门 (2014-09-22 10:18:21) 转载▼ 标签: 杂谈 分类: ENVI 版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途. 目录 ...

  6. 01 R语言入门——一些介绍

    01 R语言入门--简介 1.1 学习目标 安装R语言平台 www.r-project.org 熟悉R界面 掌握Help帮助功能 1.2 简介 R语言是从S统计绘图语言演变而来,可看作S的" ...

  7. Transact-SQL语言简介

    第6章Transact-SQL语言简介 6.1 Transact-SQL概述 Transact-SQL是SQL Server的编程语言,是结构化查询语言(SQL)的增强版本,SQL 是首先由IBM开发 ...

  8. 浅显易懂 SQLite3 笔记(01)— SQLite3简介及基本操作

    文章目录 前言 一.SQLite数据库 1.什么是SQLite? 2.为什么要用SQLite? 3.如何使用SQLite? 二.SQLite语言及基本操作 1.SQLite命令 2.SQLite类型 ...

  9. 透视HTTP协议-01|HTTP协议简介

    目录 透视HTTP协议-01|HTTP协议简介 透视HTTP协议-02|HTTP协议基础 透视HTTP协议-03|HTTP协议进阶(一) 透视HTTP协议-04|HTTP协议进阶(二) 透视HTTP协 ...

  10. 计算机c语言程序,计算机编程|C语言简介

    int main(void) { float total; printf('输入总钱数:\n'); scanf('%f',&total); int num; printf('输入红包数量:\n ...

最新文章

  1. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充
  2. TLE207x低噪声高速JFET-输入运算放大器的噪声特性测量
  3. Asp.net mvc中的Ajax处理
  4. SQL Server 2005中更改sa的用户名和密码
  5. [Codeforces958F2]Lightsabers (medium)(思维)
  6. 【S操作】轻松优雅防止(解决)两次掉进同一坑的完美解决方案
  7. 附加数据时出错,有关详细信息,请单击消息。
  8. Android 应用基础知识和应用组件
  9. APAC SharePoint Conference 2007 讲义与资源下载
  10. 中国物联网潜力巨大 还需加快投资节奏
  11. 【BZOJ4538】【HNOI2016】网络(树链剖分,线段树,堆)
  12. 太傻了!下次二面再回答不好“秒杀系统“设计原理,我就捶死自己...
  13. String,StringBuffer,StringBulilder之间的区别
  14. python分词和生成词云图
  15. 使用超级鹰登录12306网站
  16. HTML作业制作服装推广软文,盘点:服装推广软文写作技巧
  17. 高颜值的第三方网易云播放器YesPlayMusic
  18. tyvj 1027 木瓜地 简单模拟
  19. 手把手教你成为Shader编程达人系列概述
  20. 华硕f540u内存条在哪里_华硕笔记本电脑怎么拆机添加内存条?

热门文章

  1. 一个聚合搜索网站——老马知搜
  2. NIVIDIA 硬解码学习4
  3. 第一次训练----跳房子
  4. 【边学边记_10】——8 位7段数码管的动态显示
  5. TexturePacker纹理打包打方法及技巧
  6. Ynoi(5/35)
  7. dojo调用php,Dojo入门篇
  8. 人民网首届内容科技大赛 视界云荣膺三甲晋级决赛
  9. 写得太好了,大约《越狱》批评(发布)
  10. 映客卖身、花椒获资、抖音崛起——直播和短视频现状分析