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 ...
随机推荐
- day 70 crm(7):stark组件调用,以及权限分配
前情提要: 复习: 1: orm !!!!! 2: session 3: django 4: 前端在复习 5: 复习中间件 学习的stark 的组件调用,以及权限的应用 一:权限的概念, 1: ...
- UiAutomator -- UiObject2 API
1.点击与长按 void click() Clicks on this object. void click(long duration) Performs a click on this objec ...
- (LPC1769) Timer Interrupt Application
void TIMER0_IRQHandler (void) { if(LPC_TIM0->IR & 0x01) { LPC_GPIO1->FIOPIN ^= ( << ...
- Spring Security构建Rest服务-1401-权限表达式
Spring Security 的权限表达式 用法,在自定义的BrowserSecurityConfig extends WebSecurityConfigurerAdapter 配置文件里,每一个a ...
- 【树】Lowest Common Ancestor of a Binary Tree(递归)
题目: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. Accor ...
- 慕课网Python基础学习整理
# -*- coding: utf-8 -*- """# Python的注释以 # 开头,后面的文字直到行尾都算注释;多行注释开头3个 " 结尾3个 " ...
- Java的try-catch-finally
Javac语法糖之TryCatchFinally 如下引用文章:https://help.semmle.com/wiki/display/JAVA/Finally+block+may+not+comp ...
- 前端h5遇到的问题及解决办法
以后遇到的问题都记录在这里. 1.由于先有的pc端后需求手机端,所以没有用框架做适配,而是手动媒体查询进行手机端.pad.pc 三端适配,界面比较简单,所以这么做也不复杂,就是坑比较多. 2.移动和p ...
- Go语言学习笔记七: 函数
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...
- mysql数据库修改字符编码问题
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成. 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码. 只有在存储到数据库后查询数 ...