HTML 5 流水账

HTML 5 流水账_第1张图片
HTML5

引言

HTML5 致力于解决跨浏览器问题,可以取代部分原来要靠JavaScript实现的功能;

HTML 的发展历史“比较复杂”,因为它实在太“随意”了,而负责解析 HTML 的浏览器又太“宽容”了,以至于到了“写一份对的 HTML 文档很容易,写一份错的 HTML 文档很难”的程度。而且不同浏览器之间又存在一些差异,因此导致 HTML 文档给人的感觉比较混乱。

2008年,一项关于Alexa全球500强网站的调查表明,仅有 6.57%的网站能通过 HTML 规范验证。如果把那些名不见经传的小网站考虑在内,整个互联网上就几乎都是不符合规范的 HTML 页面。

一方面,W3C 组织“声嘶力竭”的呼吁大家应该制作遵守规范的 HTML 页面;另一方面,各种浏览器却可以正常解析、显示那些不符规范的页面,HTML 页面制作者根本不太理会这种呼吁。

现有的 HTML 页面中大量存在以下 4 种不符合规范的内容:

  1. 元素标签名大小写混杂:

    HTML

  2. 元素没有结束符
  3. 元素中的属性,只有属性名,没有属性值:
  4. 属性值没有用引号:

可能是出于“存在即合理”的考虑,WHATWG组织开始制定一种“妥协式”的规范:HTML 5。既然互联网上大量存在上面 4 种不符合规范的内容,而且制作者从来也不打算修改这些页面,因此 HTML 5 干脆承认它们是符合规范的。换句话说,HTML 5 是规范制定者对现实的妥协。

HTML 5 的优势

  1. 解决跨浏览器问题;
  2. 部分代替了原来的JavaScript:
  • document.getElementById("price").focus();
  • < input type="text" autofocus name="price" >
  1. 更明确的语义支持:
  • 在 HTML 5 以前,如果要表达一个文档结构,可能只能通过 div 元素来实现:
    • ... < /div >
    • ... < /div >
    • ... < /div >
  • HTML 5 为上面的页面布局提供了更明确的语义元素:
    • < header > ... < header >
    • < nav > ... < nav >
    • < article > ... < article >
    • < section > ... < section >
    • < aside > ... < aside >
    • < footer > ... < footer >
  1. 增强了 Web 应用的功能:例如以前上传文件时想同时选择多个文件都不行,必须通过 JavaScript 来实现;为了弥补这些不足,HTML 5 规范增加了不少新的 API ,而各种浏览器正努力实现这些 API 功能,在未来的日子里,使用 HTML 5 开发 Web 应用将变得更加轻松。

HTML 5 基本结构和语法变化

DTD 定义:

< !DOCTYPE html >

基本结构:



    
        页面标题,显示在浏览器标签栏
        
        
        
    
    
    
        

Hello, World!

页面内容

基本元素: