html5boilerplate教程,HTML5Boilerplate
最近看到了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 browrs that lack a console.(function() { var method; var noop = function () {}; var methods = [ 'asrt', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapd', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn' ]; var length = methods.length; var console = (sole = sole || {}); 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跨域需要的⽂件l、爬⾍过滤⽂件等,⼤家按需使⽤。
⾄此,HTML5 Boilerplate算是全部理完了,很简单的⼀个项⽬,但是很实⽤,也很漂亮。可以作为开发标配。
转载本站⽂章请注明作者和出处 ,请勿⽤于任何商业⽤途
声明:本⽂原创发布php中⽂⽹,转载请注明出处,感谢您的尊重!如有疑问,请联系处理