博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]拥抱HTML5,《HTML5设计原理》读后随记
阅读量:4344 次
发布时间:2019-06-07

本文共 3155 字,大约阅读时间需要 10 分钟。

前言:

HTML5和CSS3的时代到来了,新版2011版淘宝网首页已全部使用HTML5,拥抱变化才是王道。翻译的很好,看了一遍后,感觉理解了很多,强烈推荐其他做开发的童鞋尤其前端也来看看。
不仅让我摸清了html4,xhtml1.0, xhtml2.0, html5之间的关系,也理解了为什么会出现HTML5,同时,加紧推进在项目中应用HTML5。


著名的阿西莫夫机器人三大法则:

机器人不得伤害人类,或袖手旁观人类受伤害。

机器人必须服从人类命令,除非命令违反第一法则。
机器人必须自卫,只要不违背第一和第二法则。


xhtml1.0与html4.0相同点:

两个规范的内容是一样的;

词汇表是一样的;
所有的元素是一样;
所有的属性也都是一样的;

xhtml1.0与html4.0唯一不同点:

XHTML 1.0要求使用XML语法(严格的编码风格)

//所有属性都必须使用小写字母;
//所有元素也必须使用小写字母;
//所有属性值都必须加引号;
//你还得记着使用结束标签,记着对img和br要使用自结束标签。

XHTML 1.1与xhtml1.0唯一的变化:

把文档标记为XML文档

//XML的错误处理模型:解析器如果遇到错误,停止解析。
//不能理解XML的浏览器,用户直接看不到这个网页了。

XHTML 2特点(这个规范没有完成):

仍然使用XML错误处理模型,你必须保证以XML文档类型发送文档;

有意不再向后兼容已有的HTML的各个版本,开发人员和浏览器厂商永远不会支持它。

真正广泛地应用的设计原理:

发送时要保守;接收时要开放。

//作为专业人士,在发送文档的时候,我们会尽量保守一些,尽量采用最佳实践,尽量确保文档格式良好。
//但从浏览器的角度说,它们必须以开放的姿态去接收任何文档。


HTML5

1、2004成立了Web Hypertext Applications Technology Working Group(Web超文本应用技术工作组,WHATWG),完全脱离W3C。

2、W3C在2007年组建了HTML5工作组,在WHATWG工作成果的基础上继续开展工作。


HTML5设计原理一:避免不必要的复杂性

一、DOCTYPE的写法:

//HTML 4.01://XHTML 1.0://HTML5://这种写法会触发浏览器的标准模式。

备注:doctype它不是写给浏览器看的,Doctype是写给验证器看的。让验证器按照该doctype来验证我的文档。

二、指定文档的字符编码的写法:

//HTML 4.01:
//XHTML 1.0:
//HTML5:

备注:此简短写法,它不仅适用于最新版本的浏览器,只要是今天还有人在用的浏览器都同样有效。

HTML5其他简洁写法:

//无需再写type="text/css",否则那就是重复自己了//无需再写使用的脚本语言 type="text/javascript"

HTML5设计原理二:支持已有的内容

bar

Hello world

bar

Hello worldbar

Hello world

bar

Hello world

备注:HTML5支持已存在的各种不严谨的写法。

在JavaScript,你可以在每条语句末尾加上分号,但不是必需的,因为JavaScript会自动插入分号……JSlint确实是个非常棒的工具,规范统一JavaScript编码风格,在团队项目非常有用。


HTML5设计原理三:解决现实的问题

给整块内容(含多个块级元素)加个链接

//HTML 4.01 XHTML 1.0:

Headline text

Paragraph text.

//HTML5:

Headline text

Paragraph text.

备注:这种写法其实早就已经存在于浏览器中了,但以前这样写是不合乎规范的,现在我们把标准改了,允许你这样写了。


HTML5设计原理四:求真务实

新增语义元素涉及头部(header)、脚部(footer)、分区(section)、文章(article)……

//HTML 4.01 XHTML 1.0:
...
//HTML5:
...
...
...

备注:新元素section、article、aside和nav代表了一种新的内容模型,一种HTML中前所未有的内容模型——给内容分区。

将新元素作为类的替代品更有价值,因为这些元素在一个页面中不止可以使用一次,而是可以使用多次,可嵌套使用。
其中最为通用的section,可以说是与内容最相关的一个。而article则是一种特殊的section。Aside呢,是一种特殊的section。最后,Nav也是一种特殊的section。

//HTML 4.01 XHTML 1.0:

...

...
...
//HTML5:

...

...
...

备注:在HTML5中,只要你建立一个新的内容块,不管用section、article、aside、nav,还是别的元素,都可以在其中使用H1,而不必担心这个块里的标题在整个页面中应该排在什么级别;H2、H3,都没有问题。


HTML5设计原理五:平稳退化

渐进增强的另一面就是平稳退化。

使用type属性增强表单:

input type="number"input type="search"input type="range"input type="email"input type="date"input type="url"

备注:

现有的浏览器无法理解这些新type值的,但在它们看到自己不理解的type值时,会将type的值解释为text。
HTML5还为输入元素增加了新的属性,比如placeholder(占位符),就是用于在文本框中预先放一些文本。无需JavaScript去实现,太完美了。


HTML5视频对Flash视频(video元素):

备注:两者要兼顾,无论是HTML5,还是Flash:

  1. 如果浏览器支持video元素,也支持H264,没什么好说的,用第一个视频。
  2. 如果浏览器支持video元素,支持Ogg,那么用第二个视频。
  3. 如果浏览器不支持video元素,那么就要试试Flash影片了。
  4. 如果浏览器不支持video元素,也不支持Flash,我还给出了下载链接。

遵循另一个设计原理,即梅特卡夫定律(Metcalfe’s Law):

网络价值同网络用户数量的平方成正比。

HTML5设计原理六:最终用户优先

本质上是一种解决冲突的机制

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

Web的设计原理:

大多数人的意见和运行的代码。

转载于:https://www.cnblogs.com/cherrys/archive/2012/03/12/2392058.html

你可能感兴趣的文章
SqlServer教程:经典SQL语句集锦
查看>>
《Oracle Applications DBA 基础》- 9 - Concurrent Processing
查看>>
jquery &&、||
查看>>
mate标签的用法总结
查看>>
struts2 validation.xml 注意点
查看>>
过滤器与监听器
查看>>
循环链表
查看>>
《批判性思维教程》
查看>>
POJ 1273 Drainage Ditches 最大流-Dinic
查看>>
hdu 2120 Ice_cream's world I
查看>>
摧残孩子的最佳方式,就是以慈爱之名请他吃冰淇淋!
查看>>
java使用siger 获取服务器硬件信息(CPU 内存 网络 io等)
查看>>
(2) LVS负载均衡:VS_TUN和VS_DR的arp问题
查看>>
test
查看>>
Centos7基本设置
查看>>
Xcode5 之后版本 修改项目名称
查看>>
JS 将 string 转换成为 number
查看>>
Asp.net 在 Postback 之后 执行 javascript 方法
查看>>
文件夹及文件操作
查看>>
Python后台开发Django(会话控制)
查看>>