HTML5技术

关于HTML 5 - jerrylsxu

字号+ 作者:H5之家 来源:博客园 2016-03-31 15:00 我要评论( )

一,避免不必要的复杂性。 例如,之前,若创建一个html页,开头我们必须写成像 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 或!DOCTYPEhtmlPUBLIC"-//W3C/DTDHTML4.01//EN""

一,避免不必要的复杂性。

例如,之前,若创建一个html页,开头我们必须写成像

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

或 <!DOCTYPE html PUBLIC "-//W3C/DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">的样子。

对html 5,<!DOCTYPE html>这样的格式就行了。

原因是,Doctype是写给验证器看的。也就是说,之所以要在文档一开头写那行XHTML 1.0的doctype,是为了告诉验证器,让验证器按照该doctype来验证我的文档。但按照HTML 5的另一个设计原理,它必须向前向后兼容,兼容未来的HTML版本——不管是HTML6、HTML7,还是其他什么——都要与当前的HTML版本,HTML 5,兼容。因此,把一个版本号放在doctype里面没有多大的意义,即使对验器证也一样。

还有像<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />在html 5里可以写成<meta charset="utf-8">

二, 支持已有的内容

例如在html5里属性值可以不加引号, 但加引号也对。下面这几种写法都是正确的

三, 解决现实的问题

HTML 5的另一个设计原理是解决现实的问题。显而易见的是,解决各种问题的格式和规范已经比比皆是了,因此在我看来,这个原理其实是要解决理论问题,而非解决现实的问题。这条设计原理是要从理论上承认人们普遍存在的问题,消除敏感问题。

例如:页面中已经有了一块内容,我想给整块内容加个链接。这块内容包括一个标题,一个段落

过去的做法:

  • <h2><href="/path/to/resource">Headline text</a></h2
  • <p><href="/path/to/resource">Paragraph text.</a></p
  • 现在:

    四,求真务实

    求真务实对于HTML的含义是:在解决那些令人头痛的问题之前,先看看人们为应对这些问题都想出了哪些办法。集中精力去理解这些“民间的”解决方案才是当务之急。

    HTML 5中新的语义元素就是遵循求真务实原理的反映。新增的元素不算多,谈不上无限的扩展性,但却不失为一件好事。尽管数量屈指可数,但意义却非同一般。这些新 元素涉及头部(header)、脚部(footer)、分区(section)、文章(article)……,相信大家都不会觉得陌生。

    例如:以前的文档:

    现在可以改成:

    五,平稳退化

    有关HTML 5遵循这条原理的例子,就是使用type属性增强表单。下面列出了可以为type属性指定的新值,有number、search、range,等等。

    最关键的问题在于浏览器在看到这些新type值时会如何处理。现有的浏览器,不是将来的浏览器,现有的浏览器是无法理解这些新type值的。但在它们看到自己不理解的type值时,会将type的值解释为text。

    六,最终用户优先

    这个设计原理本质上是一种解决冲突的机制。

    一旦遇到冲突,最终用户优先,其次是作者,其次是实现者,其次标准制定者,最后才是理论上的完满

    七,只为80%设计

    这是一条常见的设计原理,也是一种通用模式,即帕累托原理

    帕累托是意大利经济学家,他提出这个比例,80/20, 说的是世界上20%的人口拥有80%的财富。这个比例又暗合了自然界各个领域的幂律分布现象。总之,无论你是编写软件,还是制造什么东西,都是一样的,即 20%的努力可以触及80%的用例。最后20%的用例则需要付出80%甚至更多的努力。因此,有时候据此确定只为80%设计是很合理的,因为我们知道为此 只要付出20%的努力即可。

    八,首先为人类设计,其次为机器设计。

    希望这些原理对大家的软件设计有所启发。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

      HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

      2017-05-02 11:02

    • 关于人工智能写程序 - draculav

      关于人工智能写程序 - draculav

      2017-05-02 09:00

    • HTML5 进阶系列:indexedDB 数据库 - _林鑫

      HTML5 进阶系列:indexedDB 数据库 - _林鑫

      2017-04-27 14:02

    • HTML5 高级系列:web Storage - _林鑫

      HTML5 高级系列:web Storage - _林鑫

      2017-04-27 14:01

    网友点评
    t