• 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

  1. 下载H5BP

    下载地址:HTML5 Boilerplate(H5BP)

  2. 删除不必要的样板文件

    删除下列只与H5BP有关的文件:

    - CHANGELOG.md

    - CONTRIBUTING.md

    - doc文件夹及其内容

    - 删除css文件夹内不需要的样式文件

  3. 理解样板中的.htaccess文件

    建议先看一遍H5BP的文档(https://html5boilerplate.com/),此文件本身也有详细的注释,可以打开编辑器从头到尾看一遍,这个文件夹的内容不全都有用,主要取决于你的主机设置和站点需求,不过这个文件的一个主要用途是保证站点性能最优。
  4. 可选择更新的样板文件

    样板中的下列文件提供了项目的标准信息,根据需要可以更新它们:

    - humans.txt:这个文件记载了贡献者,H5BP、Bootstrap等

    - LICENSE.md:在H5BP许可前面,可加上你基于该许可构建的网站的许可信息,在H5BP许可之后,加上Bootstrap以及其他站点中用到的重要的库的许可信息。

    - README.md:加上自己的项目说明信息并更新这个文件。

  5. 更新站点桌面图标和触摸设备图标

    不要忘了用自己项目的图标替换H5BP默认的图标文件,包括以下图标:

    - apple-touch-icon.png:为确保所有移动设备都有最佳效果,这个图标应该是144px*144px方形图标

    - favicon.ico:32px方形图标
  6. 加入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文件

    1. 第一种方法:可以直接把bootstrap的样式大文件拷贝到css文件夹内;
    2. 第二种方法:把bootstrap中重要的less文件夹全部复制过来:把bootstrap/less文件夹复制到H5BP文件夹的根目录下,然后使用less自定义编译css文件到css文件夹中。
  7. 大盘点

    此时的项目文件结构如下:

HTML5 Boilerplate的更多相关文章

  1. HTML5 Boilerplate - 让页面有个好的开始

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

  2. HTML模块化:使用HTML5 Boilerplate模板

    HTML5 Boilerplate 是一个由 Paul Irish(Google Chrome 开发人员.jQuery 项目成员.Modernizr 作者.yayQuery 播客主持人)主导的“前端开 ...

  3. 关于HTML5 boilerplate 的一些笔记

    最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈…… 开头的IE探测与no-js类是什么 ...

  4. HTML5 Boilerplate笔记(3)

    HTML5 Boilerplate项目网址:https://github.com/h5bp/html5-boilerplate

  5. HTML5 Boilerplate笔记(2)(转)

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

  6. HTML5 boilerplate 笔记(转)

    最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈…… 开头的IE探测与no-js类是什么 ...

  7. HTML5规范-相关资料链接(大多都是英文文档)

    网站做的更规范,尽量选择正确的HTML5结构元素.地址:http://html5doctor.com/happy-1st-birthday-us/#flowchat 了解算法和分块      知道文档 ...

  8. 15 Best Responsive HTML5 Frameworks 2014

    Best HTML5 frameworks are most popular because with the use of these frameworks you can create websi ...

  9. 分享15个HTML5工具

    HTML5 Working Draft Specification HTML5 Working Draft Specification译为HTML 5工作草案标准,它是 HTML5 的最新草案,由 W ...

随机推荐

  1. celery初始化

    # 在任务处理者一端加初始化 import os import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", &qu ...

  2. WebDriverAPI(5)

    将当前浏览器截屏 测试网址 http://www.baidu.com Java语言版本实例 @Test public void captureScreenInCurrentWindows() { dr ...

  3. ASP.NET站点Windows身份验证集成AD域,非LDAP

    站点集成AD域验证 服务器机器入域 计算机右键属性-->“更改设置”-->“更改”-->填写所属域,确认后重启机器生效. 部署测试站点,localhost.ip.域名三种方式登录效果 ...

  4. 关于Class的invokeDynamic指令

    (1)java7之Special Methods (2)invokedynamic指令 https://www.cnblogs.com/wade-luffy/p/6058087.html public ...

  5. Cocos2d-x游戏导出android工程,提取cocos的so文件

      Cocos2d-x游戏导出android工程,提取cocos的so文件   原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk ...

  6. LinuxC中全局变量environ

    Linux C中environ 变量是一个char** 类型,存储着系统的环境变量. 要想遍历环境变量可以用下面这个程序: #include <stdio.h> extern char * ...

  7. jetty9优化的两处地方

    http://www.cnblogs.com/LBSer/p/3637387.html jetty 9两个优化: https://webtide.intalio.com/2013/01/jetty-9 ...

  8. Java操作elasticsearch

    使用 Maven 工程,我的 pom 文件如下所示: <dependencies> <dependency> <groupId>org.elasticsearch& ...

  9. Vue双向绑定的关键:Object.defineProperty()

    这个方法了不起啊.vue.js和avalon.js 都是通过它实现双向绑定的.而且Object.observe也被草案发起人撤回了.所以defineProperty更有必要了解一下了. 先上几行代码看 ...

  10. C#中解决Response.AddHeader("Content-Disposition", "attachment; filename=" + filename)下载文件时文件名乱码的问题

    问题:下载文件时文件名乱码怎么解决? 在C#写后台代码过程中,经常遇到下载文件出现文件名乱码的问题,在网上找了很多方法,总是存在浏览器不兼容的问题,当IE浏览器不乱码时,火狐浏览器就会乱码,后来经过反 ...