最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下。在各种CSS库、JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽。写篇博客,推荐给大家使用。

一:HTML5 Boilerplate是什么?解决了什么问题?

对于第一次听说这个人,肯定都有这个疑问把!在网上看了看,发现很多人都认为这个是和Bootstrap一样的东西,这真是大错特错了。

实际上,HTML5 Boilerplate只是一个单纯的HTML模版。

什么?HTML模版?干嘛用?

这里不得不提所有前端开发都会遇到的问题,每次要重新弄一个页面的时候,你们都是怎么做的呢?那个doctype、html、head、body、meta标签,写的多心烦。或者从以前的项目中复制,或者抄一抄Bootstrap推荐的模版等等。但是在做这些事情的时候,有没有想过,自己的写法是否是最好的呢?或者说业界对这个有没有一个比较统一的推荐?那么,答案是有的。

HTML5 Boilerplate就是解决了这么一个问题,它提供了一个十分完善的HTML模版,完善到所有的页面似乎都应该遵守这个规则。

说的这么神乎其神,那么我们还是要一看究竟才行。从 官网下载 然后,最核心的的是一个index.html文件,不大,我们来看看它的源码

Hello world! This is HTML5 Boilerplate.

这可以说就是HTML5 Boilerplate的全部了。大概看一下,肯定会发现有些是和自己以前的写法一样的,有些又是没见过的写法,或者说自己也是这么写的但是从来没想过为什么。下面,就先“解剖”下这个HTML文件把。

二:浅析index.html

首先,文档类型使用了HTML5文档声明,比起HTML4的那一大长串,这个明显简单明了。而且,兼容全部浏览器。因为IE在设计的时候,对于这种写法也会进入标准模式。所以,以后的文档声明都这样写,省心。

然后,是这么一大段

这段代码很经典。

首先,我们先看这些条件判断,意思分别是低于IE7,等于IE7,等于IE8,高于IE8。

然后条件注释里面,就有相应的类名,比如在 lt IE 7中,html标签上便会有 lt-ie9 lt-ie8 lt-ie7这3个类,意思分别是低于ie7、8、9 。有什么用呢?其实最大的左右就是在写CSS HACK的时候,因为这样写,就可以不用CSS HACK了,比如如果是ie6,那么html标签上就会有 lt-ie7这个类,直接用CSS优先级覆盖之前的设置即可。

然后特殊的地方应该就在最后一句了,最后一句的意思是所有大于ie8和非ie浏览器都使用这个html头。仔细看会发现里面加了几个残缺的注释标签。有什么用呢,对于大于ie8的ie浏览器,这几个标签完全忽略。对于非ie浏览器。由于不识别[if gt IE 8],然后和后面的注释一起,会发现整个这部分都被注释了。这样,就实现了最完美的浏览器识别了。

然后还有一个no-js类。这个主要是会和后面的modernizr.js一起使用。因为modernizr会在浏览器启用的js的时候,把no-js换成js。简单来说这个类可以用来判断浏览器是否启用了js。

接着,就是

首先,先设置文档编码,记住这个放最前面(特别注意别放title后面),以免后面代码出现乱码。

接下来便是设置IE使用最新版本来渲染

然后是描述,便于SEO。viewport指定移动端不对网页进行缩放。

这些个元标签基本都是一个网页必须要有的,所以大家可以检查下自己的网站是否漏了什么。

之后,引入了normalize、main两个css。modernizr这个js。关于这3个文件,后面再详细说明。

进入主体部分。

首先,看到这么一段

对于使用低于IE7版本的用户,给出升级提示,当然,我们可以选择删除这一段或者换成一个中文提示

然后呢,便是这一段脚本

首先,通过CDN引入jquery。这里用的是谷歌的CDN。如果这段照抄,那么,,嘿嘿,网站肯定杯具了。所以这里换成国内的jqueryCDN把,比如七牛的。

然后,判断jQuery对象是否存在。因为CDN有可能挂了。如果jQuery对象不存在,那么我们就可以用自己服务器的jquery把。

然后引入了plugins.js还有main.js。main.js是空的,plugins.js后面详细说明。

最后一段代码就是引入google统计了。这里,根据自己的需要换成百度统计或者是别的把。就不详细说了。

至此,HTML5 Boilerplate的最关键的模版HTML算是讲完了。以后要新弄一个页面,就照着这个copy把。

不过,HTML5 Boilerplate提供的还不止这些,下面讲讲单个文件的作用把。

三:静态文件

打开项目代码,可以看到有挺多的文件的,有些是说明文件,比如doc/路径下的,就不讲了,有些是值得讲讲的,比如css/ js/下的部分文件。挑几个有趣的说说把。

首先 css目录下有main和normalize

normalize也许大家都听过,就是一个浏览器重置,里面的每一条css都是进过千千万万的人精挑细选的,基本上这个重置属于公认的了。

里面的具体每条规则就不细讲了,可以百度查看这个项目的文档,或者直接看注释也ok。

main就是改项目对normalize的补充,可以看到提供了一些基础类名方便大家,比如图片置换,清除浮动等等。

js提供了个plugins.js

代码如下

// Avoid `console` errors in browsers that lack a console.(function() { var method; var noop = function () {}; var methods = [ 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn' ]; var length = methods.length; var console = (window.console = window.console || {}); while (length--) { method = methods[length]; // Only stub undefined methods. if (!console[method]) { console[method] = noop; } }}());

比较简单,就不说明了。解决的主要问题就是用console调试的时候IE报错。这个问题我想大家都遇见过,调试代码忘记删除,线上IE报错,导致js无法继续执行。加了这个,就可以避免掉这问题了。

还有就是modernizr了,这是个强大的浏览器功能检查js,具体使用可以在官网上看看教程,这里就不说了。

然后,还提供了一些个文件,比如apache的配置htaccess、 404页面、flash跨域需要的文件crossdomain.xml、爬虫过滤文件robots.txt等,大家按需使用。

至此,HTML5 Boilerplate算是全部理完了,很简单的一个项目,但是很实用,也很漂亮。可以作为开发标配。

转载本站文章请注明作者和出处 ,请勿用于任何商业用途

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

html5 boilerplate 教程,HTML5 Boilerplate相关推荐

  1. html5实验教程,html5+css3+js开发APP实例教程1 -- 文字列表

    不多说直接先上实例. 所有实例在后续成品将会用到. 如果有需要讲添加具体文字说明. 许多网页设计师都喜欢,将两个或者多个容器等高的并排放置,并在里面展示每个容器的内容,就象经典表格布局中的单元格控制几 ...

  2. html5插件教程,HTML5教程 | HTML5 time元素

    HTML5 time元素是用于定义页面的日期和时间的语义元素. 基本的time元素 time元素包含2个部分的日期信息.一个部分是给机器阅读的,另一个部分是给人阅读的.下面是一个简单的time元素的示 ...

  3. 兄弟连html5在线画板,IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容

    原标题:IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容 为了保证HTML5能与之前的HTML版本达到最大的兼容,HTML5对一些元素标记的省略.boolean值的属性,以及引号的省略这几 ...

  4. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片

    [Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...

  5. html5发展前景-兄弟连,IT兄弟连 HTML5教程 HTML5的曲折发展过程 HTML5的诞生

    原标题:IT兄弟连 HTML5教程 HTML5的曲折发展过程 HTML5的诞生 十年磨一剑,正如我们所看到的一样,HTML5大潮正来势汹汹.但也正如我们所知道的一样,HTML5是一种技术标准,它的语义 ...

  6. css点击a标签显示下划线_好程序员HTML5培训教程-html和css基础知识

    好程序员HTML5培训教程-html和css基础知识,Html是超文本标记语言(英语全称:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. Css ...

  7. HTML5培训教程学习之动效制作

    近年来,HTML5应用愈发广泛,并有取代Flash的趋势.很多人知道利用HTML5可以做出好的动作效果,但你知道它是怎么做出来的吗?今天小千就来给大家分享一下HTML5培训教程中动效制作的几种方法. ...

  8. html5语言基础教程,HTML5基础教程,从入门到精通,零基础学HTML5

    随着互联网的快速发展,对前端开发方面的人才需求越来越大,其中Web前端领域的HTML5也受到许多人追捧 HTML5是构建Web内容的一种语言描述方式.HTML5是互联网的下一代标准,是构建以及呈现互联 ...

  9. 好程序员HTML5前端教程-css的引入方式和选择器

    好程序员HTML5前端教程-css的引入方式和选择器 01.引入css方式(重点掌握) 行内样式 内接样式 外接样式 3.1 链接式 3.1 导入式 css介绍 现在的互联网前端分三层: HTML:超 ...

最新文章

  1. 自定义非等高 Cell
  2. 6.MATLAB变量——矩阵操作一
  3. 不使用总线矩阵的CortexM3最小系统搭建(AHB外设有ITCM,DTCM,DEFAULT_SLAVE和AHB_APB桥,APB外设只有一个UART)附整个工程
  4. java质数和合数的程序_《java项目实训》课程设计计算器.doc
  5. MVC 的八个扩展点
  6. 3. beanstalkd
  7. Tatala 中文教程
  8. smartsvn.license
  9. JavaScript里函数中的this
  10. debian7修改密码
  11. DSB算法C语言程序,单片机中使用DSB温度传感器C语言程序.doc
  12. ATL SERVER
  13. web服务器利用线程响应http请求,多线程实现的HTTP应用服务器(HTTPWebServer)Mutu 0.2 alpha连载I...
  14. 元器件温度系数(ppm/℃)是什么?
  15. 如何用tensorflow使用自定义数据来训练,做物体检测
  16. 过滤掉URL中的参数部分
  17. MIT赵选贺再发《Nature Biomedical Engineering》​!
  18. 七款最流行的PHP本地服务器
  19. Unity3D-LOL部分效果生成方法---cd效果
  20. 20000字详解大厂实时数仓建设(好文收藏)

热门文章

  1. 我想把我的生活感悟写入面向对象C#、写入.net,写入Web里.(本人的文化水平有限,请见谅~~) ­
  2. Python + Tesseract-OCR识别图片文字
  3. 甘特图(gantt)
  4. STM32-TFT-LCD
  5. 2006年第一学期小小班个人计划
  6. c语言union字节相同大小不同,C语言的struct/union字节对齐
  7. 使用Arcgis获取城市交通小区
  8. AAtest实验方法
  9. 北京精雕电主轴用海德汉编码器AK ERM280/2480/TTRERM2404/vs sensorik编码器RGM2G-AE3-V3Z参数接线定义
  10. 机器人/无人驾驶参考资源