HTML5 Boilerplate
- time: 2016-10-20 20:00
HTML5 Boilerplate(H5BP)是一个由 Paul Irish(Google Chrome 开发人员、jQuery 项目成员、Modernizr 作者、yayQuery 播客主持人)主导的“前端开发模版”,也可以简单理解为web前端的最佳实践的HTML+CSS+jquery模板集合,帮你构建 快速, 健壮, 并且适应力强的web app或网站。
一、H5BP 特性简介
- 首创在 HTML 页面的 body 上使用 IE 条件注释判断浏览器版本,从而大大简化了针对 IE Hack 的成本(在后来的版本中升级为在 标签中加入条件注释)
- HTML5 集成,默认使用了很多 HTML5 的特性,并且使其兼容旧版本浏览器
- 大量针对服务器的默认配置,无需修改即可配置一个安全、标准的 web 服务器
- 完整的 JS 调试机制 —— 即使在 IE 下
- 大量使用 CSS3 技术,并且集成了几乎所有来自框架中和技术大牛们口头相传的 CSS 技巧
- 压缩包内包含了 一个干净、移动终端友好的HTML模版;优化过的Google统计代码;触摸屏设备上使用的图标;还有丰富的文档、技巧、窍门
- 包含了 Normalize.css— 一个先进的、支持HTML5的CSS reset — 和基础样式、辅助功能、media queries、打印样式
- 自带了两个优秀的Javascript工具库的最新版本: jQuery (默认链接到 Google的CDN, 如果CDN失效,本地文件作为后备) 和Modernizr 浏览器特性监测工具库,可以检测浏览器对新特性的支持能力,方便针对旧版本浏览
- 为所有浏览环境做了优化,包括移动版本和打印版本
二、如何使用H5BP
- 下载H5BP
- 删除不必要的样板文件
删除下列只与H5BP有关的文件:
- CHANGELOG.md
- CONTRIBUTING.md
- doc文件夹及其内容
- 删除css文件夹内不需要的样式文件 - 理解样板中的.htaccess文件
建议先看一遍H5BP的文档(https://html5boilerplate.com/),此文件本身也有详细的注释,可以打开编辑器从头到尾看一遍,这个文件夹的内容不全都有用,主要取决于你的主机设置和站点需求,不过这个文件的一个主要用途是保证站点性能最优。 - 可选择更新的样板文件
样板中的下列文件提供了项目的标准信息,根据需要可以更新它们:
- humans.txt:这个文件记载了贡献者,H5BP、Bootstrap等
- LICENSE.md:在H5BP许可前面,可加上你基于该许可构建的网站的许可信息,在H5BP许可之后,加上Bootstrap以及其他站点中用到的重要的库的许可信息。
- README.md:加上自己的项目说明信息并更新这个文件。 - 更新站点桌面图标和触摸设备图标
不要忘了用自己项目的图标替换H5BP默认的图标文件,包括以下图标:
- apple-touch-icon.png:为确保所有移动设备都有最佳效果,这个图标应该是144px*144px方形图标
- favicon.ico:32px方形图标 - 加入Bootstrap
文件现在我们考虑把H5BP和bootstrap结合使用,我们需要从bootstrap提供的一大推文件中选出需要的部分:
- 字体:
把fonts文件夹复制到H5BP文件夹的根目录,这个文件夹包含bootstrap重要的Glyphicon字体。
为保险起见,在这个fonts文件夹建一个.hatccsee文件,防止因为越来越多的CDN为你的网站缓存静态资源,如果没有这个文件某些浏览器会拒绝识别你的WEB字体,在创建的.hatccss文件中添加如下代码:

- JavaScript
在js目录下创建一个bootstrap文件夹,然后把bootstrap的js脚本文件拷到这个文件夹下,便于优化网站性能,即可按需选用插件、排除其他文件并缩减文件大小。
H5BP采用的方法是将所有的插件代码都复制到plugins.js模板文件,这是结束开发之后的最佳做法,因为这样可以减少http请求,加快站点的加载速度。所有现在我们需要找到Bootstrap文件夹下的bootstrap.min.js文件,打开->全选代码->复制->粘贴到plugins.js模板文件中->保存并退出。- css文件
- 第一种方法:可以直接把bootstrap的样式大文件拷贝到css文件夹内;
- 第二种方法:把bootstrap中重要的less文件夹全部复制过来:把bootstrap/less文件夹复制到H5BP文件夹的根目录下,然后使用less自定义编译css文件到css文件夹中。
- 大盘点
此时的项目文件结构如下:

HTML5 Boilerplate的更多相关文章
- HTML5 Boilerplate - 让页面有个好的开始
最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用. 一:HTML5 ...
- HTML模块化:使用HTML5 Boilerplate模板
HTML5 Boilerplate 是一个由 Paul Irish(Google Chrome 开发人员.jQuery 项目成员.Modernizr 作者.yayQuery 播客主持人)主导的“前端开 ...
- 关于HTML5 boilerplate 的一些笔记
最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈…… 开头的IE探测与no-js类是什么 ...
- HTML5 Boilerplate笔记(3)
HTML5 Boilerplate项目网址:https://github.com/h5bp/html5-boilerplate
- HTML5 Boilerplate笔记(2)(转)
最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用. 一:HTML5 ...
- HTML5 boilerplate 笔记(转)
最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈…… 开头的IE探测与no-js类是什么 ...
- HTML5规范-相关资料链接(大多都是英文文档)
网站做的更规范,尽量选择正确的HTML5结构元素.地址:http://html5doctor.com/happy-1st-birthday-us/#flowchat 了解算法和分块 知道文档 ...
- 15 Best Responsive HTML5 Frameworks 2014
Best HTML5 frameworks are most popular because with the use of these frameworks you can create websi ...
- 分享15个HTML5工具
HTML5 Working Draft Specification HTML5 Working Draft Specification译为HTML 5工作草案标准,它是 HTML5 的最新草案,由 W ...
随机推荐
- Java并发编程实践读书笔记(4)任务取消和关闭
任务的取消 中断传递原理 Java中没有抢占式中断,就是武力让线程直接中断. Java中的中断可以理解为就是一种简单的消息机制.某个线程可以向其他线程发送消息,告诉你“你应该中断了”.收到这条消息的线 ...
- POJ 2393
#include <iostream> #include <algorithm> using namespace std; int main() { //freopen(&qu ...
- vue 中使用 screenfull.js 全屏插件
参考网址: https://blog.csdn.net/houyibing930920/article/details/89214200 https://www.jianshu.com/p/cfbb1 ...
- Redis数据类型之SDS简单动态字符串
一,简单的动态字符串 1,Redis自己构建了一种名为简单动态字符串的抽象类型,并将SDS用作Redis的默认字符串表示, 2,在redis的数据库里面,包含字符串值的键值对在底层都是由SDS实现的 ...
- Kubernetes使用GlusterFS实现数据持久化
k8s中部署有状态应用等需要持久化数据的应用,必不可少得用存储,k8s支持很多中存储方案,我司目前使用的存储有glusterfs(分为容器化和裸机方式).nfs供应用选用,本次就简单实战下gluste ...
- Spring Security构建Rest服务-1100-单机Session管理
Session失效时间: springboot配置session失效时间,只需要在application.properties里配置 #session超时时间,低于60秒按60秒server.sess ...
- 【原】中文Ubuntu主目录下的文档文件夹改回英文
想把中文Ubuntu主目录下的文档文件夹改回英文,在Terminal下面操作的时候要输入中文特别不方便,于是便用了更改名字的想法 方法一: 首先把那几个中文名称修改成相应的英文,比如 Desktop. ...
- 《Mysql技术内幕,Innodb存储引擎》——Innodb体系结构
Innodb体系结构 Innodb存储引擎主要包括内存池以及后台线程. 内存池:多个内存块组成一个内存池,主要维护进程/线程的内部数据.缓存磁盘数据,修改文件前先修改内存.redo log 后台线程: ...
- Linux-(touch,cat,nl,more|less,head|tail)
touch命令 1.命令格式: touch [选项]... 文件... 2.命令参数: -a 或--time=atime或--time=access或--time=use 只更改存取时间. -c ...
- cookie和session的区别,session的生命周期,
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...