# H5 的新的设计理念
- 
避免不必要的复杂性 - 在做减法
 
- 
支持已有内容–完全向下兼容,H5 的语法还更加宽松些
 
- 
新增语义化元素,给内容分区
 
- 
减少脚本操作(input type:number,range,search,email;placeholder)
 
H5 在 PC 端需要考虑兼容问题,在移动端则可以放心的使用,移动端是必须,PC 端是首选
# H5 是革命性的变化
- 新增语义化标签,给内容分区(今天)
 
- 新增了表单控件,减少不必要的脚本操作(学)
 
- canvas 画图 - 2 次课
 
- 多媒体标签(音频、视频)- 自定义播放器  1 次课
 
- 本地存储(离线存储 - 多页面通信) 1 次课
 
- 地理定位(本地服务) 1 次课
 
# 语义化标签有什么用
H5 的语义化标签分两部分:布局标签 + 功能型标签。
- 
可维护性更强–开发
 
- 
SEO–搜索引擎优化–自然流量–标签,
百度蜘蛛 - 爬虫会定时抓取各个网站的内容。
SEO - 推销产品,让尽可能多的人知道。站内、站外
 
# 学习 H5 需要注意的问题
- 
PC 端低版本浏览器(IE9 即以下)不支持 H5 的新特性
如果要开发针对低版本浏览器,需要使用之前的标签
PC 端是主流,而不是必选,就在于兼容性问题
 
- 
移动端则不需要考虑以上问题,可以任意使用。也就是移动端是必选。
 
# 如何解决兼容性问题
只能解决布局型的新标签。对于功能型新标签则无解。因为浏览器本身就不支持。
条件注释语句,即只针对特定的浏览器生效,该语句主要是针对 IE 浏览器,只有 IE 可以使用,其他浏览器无效。
在条件注释语句中可以放其他的代码
- 
手动模式
要支持的标签不多的情况下。可以手动写。先写样式,再写 JS,然后将代码使用条件注释包裹起来
 
- 
使用插件
要支持所有的布局标签。直接导入一个插件即可。
 
开发时到底是以低版本浏览器为主还是以高版本浏览器为主
- 渐进增强。
保守式的开发,在开发时,使用没有兼容性问题的标签,新的标签只是作为锦上添花,不考虑所有的设备都支持。适用于要给低版本浏览器开发时使用的方案。比如要针对低版本浏览器时。 
- 优雅降级。
激进式的开发,所有的都用最新的最好的技术和标签来开发,而不用考虑兼容性问题,只保证那些低版本浏览器可用(不保证效果和好用)。适用于高版本浏览器和移动端。 
# 手动解决兼容性问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   |  <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <!-- 手动如何解决兼容性问题 -->     <!-- 1、写样式      lt  小于     gt  大于     lte 小于等于     gte 大于等于     -->     <!--[if lt IE 9]> 
      <style type="text/css">         header,footer,section,nav,aside,article{             display: block;         }     </style>     <![endif]-->     <!-- 2、写JS -->     <!--[if lt IE 9]>      <script>         document.createElement("header");         document.createElement("footer");         document.createElement("section");         document.createElement("nav");         document.createElement("aside");     </script>     <![endif]--> </head> <body>     <header>         IE8及不支持     </header>      <footer>         IE8及不支持     </footer> </body> </html>
 
 
  | 
 
# 引入插件解决兼容性问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
   |  <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title>     <!-- 如何解决兼容性问题 导入一个插件-->     <!--[if lt IE 9]>      <script src="html5shiv.min.js"></script>     <![endif]--> </head> <body>     <header>         IE8及不支持,可以通过JS来解决     </header>      <footer>         IE8及不支持,可以通过JS来解决     </footer> </body> </html>
 
 
  |