本书PDF版下载地址《疯狂HTML CSS3 JavaScript讲义》 由于是读书笔记,我只会记录我认为有用的知识,如果你想了解更多,请自己阅读。
HTML5的优势
1.解决跨浏览器的问题
- IE: 在IE 9 之后更好的兼容了HTML5
- Chrome: Googele 一直都支持HTML5
- Firefox: 从firefox 4开始就支持HTML5
- Opera: 从Opera 10 开始支持HTML5
- Safari: 从Safari 5 开始支持HTML5
2.部分代替了JavaScript
例如,打开一个页面后立即让某个单行文本框获得输入焦点,在HTML5之前,需要JavaScript来实现如下:
1 |
|
上面的页面使用HTML5 只需要加一个属性,如下:
1 |
|
3.更明确的语义支持
HTML5之前,表达一个文档结构,如下:
1 | <div id="header">...</div> |
HTML5表达一个文档结构,如下:
1 | <header>...</header> |
4.增强了web应用程序的功能
一直以来,HTML页面的功能被死死的限制:客户端从服务器下载HTML页面数据,浏览器负责呈现这些HTML页面数据。出于对客户机的安全性考虑,以前的HTML在安全性方面做得足够安全。
当页面做得太安全之后,我们需要通过JavaScript等其他方式来增加HTML功能,
为了弥补这种不足,HTML5规范增加了不少新的API。
HTML5的基本结构和语法变化
1.HTML5基本结构
1 |
|
不要在<html>
和<head>
之间插入任何内容
2.HTML的语法变化
1.标签不再区分大小写,例如:
1 | <body> |
上面的代码完全符合HTML5规范
2.元素可以省略结束标签,具体来说,HTML5可分为以下3种:
空元素语法的元素:
area、base、br、col、command、embed、hr、img、input、keygen、link、mata、param、source、wbr
。这些空元素标签不允许将开始标签和结束标签分开定义。
1
2
3<img src=" "></img> //错误写法
<img src=" " /> //正确写法
<img src=" " > //正确写法 HTML5可以省略最后一个斜杠可以省略结束标签的元素:
colgroup、dt、dd、li、optgroup、option、p、rt、rp、thead、tbody、tfoot、tr、td、th
。可以省略全部标签的元素:
html、head、body、tbody
。1
2
3
4
5
6
7
<title>dayo1</title>
<p>
<ol>
<li></li>
<li></li>
</ol>上面页面中完全没有
<html.../>、<head.../>、<body.../>
这3个元素,但这个页面是符合HTML5规范的。
3.允许省略属性值的属性
1 | <input checked type="checkbox" /> |
HTML5中允许省略属性值得属性
HTML5 | XHTML |
---|---|
checked //默认选中 | checked=”checked” |
readonly //只读 | readonly=”readonly” |
disabled //禁用 | disabled=”disabled” |
selected //默认选中 | selected=”selected” |
defer //延迟 | defer=”defer” |
ismap //是否是服务器map的一部分 | ismap=”ismap” |
nohref //不存在链接 | nohref=”nohref” |
noshade //去除阴影 | noshade=”noshade” |
nowrap //不换行 | nowrap=”nowrap” |
multiple //规定可同时选择多个选项 | multiple=”multiple” |
noresize //不允许调整窗口尺寸 | noresize=”noresize” |
4.允许属性值不使用引号
传统的XHTML,要求所有的属性值都必须用引号引起来,单HTML5允许直接给出属性值,即使不放在引号中也是正确的。
但是如果属性值包含空格等容易引起浏览器混淆的属性值,那么HTML5依然建议使用引号把这种特殊的属性值引用起来