HTML基础入门

128 阅读7分钟

1. 概念

概念: HTML5(Hyper Text Mark-up Language 5):超文本标记语言5:

  • 超文本:文字、图片、音频、视频、链接...
  • 标记:浏览器根据标记分析功能从而完成显示。
  • 语言:HTML是一门面向浏览器的语言。

1.1 H5发展历史

概念:

  • 启航:HTML1 - HTML4
    • HTML第一个官方版本是由IETF(互联网工程任务组)推出的,后来W3C取代IETF继续研究HTML语言,频繁地推陈出新。
      • 四流公司:做项目的。
      • 三流公司:做产品的,用友,华为,小米。
      • 二流公司:做服务的,联通,移动,电信。
      • 一流公司:做标准的,W3C,JS标准公司。
    • HTML 3.20:1997年01月14日,W3C推荐标准。
    • HTML 4.00:1997年12月18日,W3C推荐标准。
    • HTML 4.01:1999年12月24日,W3C推荐标准,版本相对稳定。
  • 决裂:XHTML1 - XHTML2
    • XHTML1.0是继HTML4.01后的第一个修订版本,是具有XML风格的HTML,相对HTML并没有引入新标签或者属性,唯一改变就是语法更加严格。
    • 之后W3C又推出了XHTML1.1和2.0版本,语法愈加严格完美,但随之而来的问题也愈加严重,因为W3C改动太大而且HTML不向前兼容,导致各大浏览器厂商跟不上W3C的脚步。
    • 最终,浏览器厂商自己成立了超文本应用技术工作组:WHATWG,正式与W3C决裂。
  • 和好:WebApps1.0
    • 自从双方决裂,WHATWG致力于研究WebForms2.0和WebApps1.0(后合并为HTML5),而W3C继续研究XHTML2,但困难却越来越大,双方的日子都不好过。
    • 06年,W3C成立了一个新的HTML工作组,并明智地选择了WHATWG的成果作为基础,他们同时进行着XHTML2和HTML5两套规范。
    • 09年,W3C终于坚持不住,主动宣布:XHTML时代已死,XHTML语法永存。于是,W3C和WHATWG言归于好,开始共同研究HTML5,也就是HTML语言目前最新的版本。
  • 爆发:HTML5
    • HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。
    • HTML5 的第一份正式草案已于2008年1月22日公布。HTML5仍处于完善之中,然而,大部分现代浏览器已经具备了某些HTML5支持。
    • 2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿,根据W3C的发言稿称,HTML5是开放的Web网络平台的奠基石。
    • 2013年5月6日, HTML5.1正式草案公布,该规范定义了第五次重大版本,第一次要修订万维网的核心语言:超文本标记语言(HTML),在这个版本中,新功能不断推出,以帮助Web应用程序的作者,努力提高新元素的操作性。
    • 2014年10月29日,万维网联盟泪流满面地宣布,经过几乎8年的艰辛努力,HTML5标准规范终于最终制定完成了,并已公开发布。

1.2 H5浏览器支持

概念:

  • 支持H5的浏览器包括火狐浏览器,IE9及其更高版本,谷歌浏览器,Safari,Opera等。
  • 国内的傲游浏览器(Maxthon),以及基于IE或Chromium(Chrome的工程版或称实验版)所推出的360浏览器、搜狗浏览器、QQ浏览器、猎豹浏览器等国产浏览器同样具备支持HTML5的能力。

1.3 H5移动端开发

概念:

  • 在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎。
  • JavaScript引擎的构建方法让制作手机网页游戏成为可能,由于界面层很复杂,已预订了一个UI工具包去使用。
  • 纯HTML5手机应用运行缓慢并错漏百出,但优化后的效果会好转,尽管不是很多人愿意去做这样的优化,但依然可以去尝试。
  • HTML5手机应用的最大优势就是可以在网页上直接调试和修改,原先应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是首先得解决的一个问题,因此也有许多手机杂志客户端是基于HTML5标准,开发人员可以轻松调试修改。

2. 基本语法

概念:

  • H5文件都是以 .html.htm 结尾的,而 .html 优先级更高。
  • H5文档由标签(元素、标记)和纯文本组成,标签描述功能,文本描述内容。
  • 标签是由 <> 和小写英文字母组成的,如 <body>
    • XHTML中规定标签的名必须是小写。
  • 标签的分类有三种:
    • 单标签一般不配合文本使用,如 <br />
    • 双标签成对儿出现,用来描述文本或定义文本,如 <p>文本</p>
    • 组合标签表示多个标签组合在一起使用才会有效果,如 <ul><li>文本</li></ul>
  • 标签中通过键值对儿来描述属性,如 color='red'
    • XHTML中规定属性名使用小写字母,属性值可以使用单引号和双引号(推荐)。
  • 注释:HTML只有一种注释,且不能嵌套,格式为 <!-- 注释内容 -->
  • 文档结构:一个H5文档由文档声明,html页头和html页体组成。
  • 文档声明:告诉浏览器这是一个HTML文档,一般写在文档的第一行:
    • H4严格型:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd>
    • H4过渡型:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01 Transitiona//EN" "http://www.w3.org/TR/html4/loose.dtd>
    • H4框架型:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd> - H5简洁型:<!DOCTYPE html>
  • 语言设置:<html> 中可以设置 lang 来告诉浏览器本页面使用的语言,主要是方便某些浏览器的翻译功能:
    • lang="en":告诉浏览器本页面使用中文。
    • lang="zh-CN":告诉浏览器本页面使用英文。
  • 字符设置:告诉浏览器本页面以那种字符编码的方式显示页面:
    • H4:<meta http-equiv="charset" content="text/html charset=utf-8">
    • H5:<meta charset="UTF-8">
  • 换行:在编辑器中无论多少次回车的效果都是只有一个空格,使用 <br /> 可以解决这个问题。
  • 分割线:<hr /> 就是一条水平线,默认宽度占父标签的100%。
  • 实体:具有特殊意义的字符需要通过HTML实体代码才能显示出来:HTML实体表

布局: html/基本语法.html

3. 页头标签

概念: <head> 中只负责设置文档标题和其它在网页中不建议显示的信息:

  • <title>:用来设置文档的标题,位于浏览器窗口的标题栏或状态栏上,网页被加入收藏夹或者书签时会默认使用标题作为名字。
  • <base>:用来给页面链接添加路径前缀或者默认的打开方式,不建议动态写入:
    • href:为页面上所有的 hrefsrcaction 添加统一前缀,内容以 / 结尾。
    • target:为页面上所有的链接添加统一打开方式。
    • 绝对路径从电脑盘符出发,工程中很少使用。
    • 相对路径从自身出发,常用符号有两个:
      • ./ 代表当前位置时,可以省略。
      • ../ 代表上层位置时,可以重复多次使用。
  • <meta>:用于提供有关页面的元信息,通常使用 namehttp-equiv 配合 content 一起指定。
    • name="keywords" content="关键字":网页关键字。
    • name="author" content="作者":网页作者。
    • name="description" content="网页描述":网页内容描述。
    • name="generator" content="工具":网页生成工具。
    • equiv="refresh" content="秒数;URL=跳转路径":指定时间跳转到指定路径。
  • <link>:用于链接外部css文件、链接收藏夹图标等:
    • rel="stylesheet" type="text/css" href="css文件路径":引入CSS文件。
    • rel="icon" type="image/x-icon" href="图标路径":引入项目根目录下的标题 .ico 图标。
  • <script>:链接外部js文件或划分内部js代码区,建议双标签:
    • src="js文件路径":链接外部js文件。
    • type="text/javascript":划分内部js代码区。
  • <style>:划分内部css代码区:
    • 格式:<style type="text/css">样式表</style>

布局: html/页头标签.html