关于HTML5 boilerplate 的一些笔记

最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈……

开头的IE探测与no-js类是什么?

Modernizer探测到浏览器启用了js的时候会将.no-js替换成.js,这样在CSS里可以为禁用js或者启用js的浏览器添加额外的规则,像这样

.no-js xx {
    /* Some CSS code for browsers with js disabled */
}

算是对没有if-else的CSS的一种workaround。其他lt-ie*的类也是同理。

参见: What is the purpose of the HTML “no-js” class?

<meta http-equiv="X-UA-Compatible" content="IE=edge">

用于让IE使用可用的最高版本的模式,e.g. IE8用IE8模式,IE9用IE9模式。 参见What‘s the difference if <meta http-equiv="X-UA-Compatible" content="IE=edge"> exists or not?

旧版的HTML5 boilerplate还带了chrome=1这个值,是为了让有Google Chrome Frame这个插件的IE可以用上chrome的特性和JS引擎,但是这个插件已经退役了,所以新版的HTML5 boilerplate也去掉了这个值。

注意这段代码过不了W3C提供的validation,当然也可以理直气壮地无视它啊哈哈哈。如果实在是很在意,可以用.htaccess,参考这个讨论,或者直接在服务器代码里发送这个header(比如端口不是80又想兼容IE的)。

关于favicon

为iOS从safari放置到桌面的web app设置图标:Configuring Web Applications

关于favicon,一般最好用ico(一些旧版的浏览器不支持png= =),还有一些逗比浏览器(e.g.360)只肯使用网站根目录下的favicon.ico(连端口都不能有),这些点要注意。

参考:

charset放在哪里

为了防止被利用不正确的编码进行攻击(比如IE会猜到用utf-7),一定要声明charset,而且要放在HTML文件的前1024byte(参考HTML5标准),最好放在title的前面(参考Google Dcotype

viewport

width=device-width, initial-scale=1一般会在移动端浏览器下取得比较好的效果(尤其是在有响应式设计的时候。不设的话通常移动端的浏览器会按电脑屏幕的尺寸绘图,一打开网页长得跟个PC版的略缩图一样……)

这个入门slides蛮好的

normalize.css

注意现在维护的normalize.cssv3对IE只支持到IE8,IE6~7需要已经不再维护的normalize.cssv1(不过想用HTML5的就不会考虑照顾这些低版本IE了吧2333)

源代码的注释也是学习各浏览器兼容性的好材料。

main.css

里面自带了一大堆helper class以及一些opinionated的默认值(e.g.默认文本颜色设为#222而不是比较刺眼的纯黑),另外设置了一堆打印格式和用于设置隐藏的样式。

modernizr

很有名的处理浏览器新特性兼容性的JS库,略复杂,参考官网即可

plugins.js

用来放各种插件(包括jQuery插件)。里面有一段代码是用来防止一些逗比浏览器没有console导致报错的,运行完后这类浏览器会多出一个windows.console,里面的各种各样的方法(e.g. window.console.log)都是空函数,这样被调用不会有任何效果但是也不会报错。

怎样同时使用HTML5 boilerplate与bootstrap

使用Initializr即可

参考:Is Bootstrap a complement or an alternative to HTML5 Boilerplate or viceversa?

引用外站文件的时候为什么用//做协议

为了让浏览器对不同的协议(https/http)载入不同的文件,这样不会有烦人的提示跑出来,参考The Protocol-relative URL

WebpageTest

在挖官方文档和相关链接的时候偶然发现了这个好东西:WebpageTest,可以检测不同地点里多种浏览器(包括部分移动端浏览器)下页面载入的性能与网络IO,这样就可以为一些没有开发者工具的浏览器做profiling啦~

Google Doctype

一些web开发小知识的集合,原来的地址已经挂了,不过在google code上存着镜像:Google Doctype的镜像

时间: 2024-10-27 07:15:14

关于HTML5 boilerplate 的一些笔记的相关文章

HTML5 Boilerplate笔记(2)(转)

最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用. 一:HTML5 Boilerplate是什么?解决了什么问题? 对于第一次听说这个人,肯定都有这个疑问把!在网上看了看,发现很多人都认为这个是和Bootstrap一样的东西,这真是大错特错了. 实际上,HTML5 Boilerplate只是一个单纯的HTML模版. 什么?HTML模版?干嘛用? 这里不得不提所有前端开发

使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目再续

前情提要 使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目 使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目续 在前面,我创建了一个简单的首页,但是现在遇到问题了,我不能满足于 Bootstrap 的默认样式,希望能够根据自己的需求来定义样式,所以,为了能够愉快地修改样式,我需要先来理解一下基本的 Less 语法,更多详细资料可以参考官网 Less 是一个 CSS 预处理器,使用类似于 CSS 的语法,对 CSS 做了很多改进,不过,最

HTML5 Canvas知识点学习笔记

canvas ① 主要作用:绘制矢量图 ② 矢量图图形(路径)-(ILL) 位图图像(像素点)- PS中图像都是位图 ③ Canvas 能够制作动画,但是不是为了制作动画而生的也能够制作游戏.主要为了绘图而生. ④ 能够设置宽高 推荐样式写在style:Canvas 相当于是一个绘制图形的容器,并没有绘制功能,需要借助JS(脚本)实现绘制功能. 思路: getContext( ) var context = cnvas.getContext('2d'); // 图像的绘制 // 开始      

HTML5 Manifest使用测试笔记

此文纯属于个人笔记,个人能力有限,给看官带来误导请谅解,谢谢! 本文主要参考资料链接: http://www.cnblogs.com/powertoolsteam/archive/2011/04/02/2003834.html http://www.w3school.com.cn/html5/html_5_app_cache.asp http://www.w3school.com.cn/html5/html5_html.asp http://www.cnblogs.com/cxd4321/p/3

使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目

下载  Bootstrap 访问下面网站下载最新的 bootstrap 源文件 http://getbootstrap.com/ 找到如下所示的下载页面,点击 Download source 按钮即可下载,如果用 Sass 开发,那么把 Sass 文件也下载下来, 解压后,打开 bootstrap 文件夹可以看到里面有一堆文件以及文件夹,大致就像这样, 其中,less 文件夹里面包含了所有的 less 文件,js 文件夹里面包含了12个 js 插件,接下来,我们去下载 HTML5 Boilerp

HTML5 Boilerplate with RequireJS (持续更新)

HTML5 Boilerplate with RequireJS Table of contents HTML5 Boilerplate with RequireJS Table of contents Code base HTML5 Boilerplate Code Base in Browser RequireJS Install Configure Multiple pages jscommonjs Update jsmainjs for indexhtml page1html i18n

使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目续

在前面我用 Bootstrap 和 HTML5 Boilerplate 搭建了一个项目基础框架,可是还只是空白一片,没有什么实际内容,现在可以开始向里面增加内容了.回到那个项目起点 index.html,一开始是给文档设置一个标题,就随随便便取一个好了: <title>有标题文档</title> 真的取得很随意,不要太认真了,接下来添加以下页面主体内容: 一个包含 logo 和导航的 banner 一个包含主要内容的 main 元素 一个包含版权信息和社交链接的页脚 把在 inde

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

最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用. 一:HTML5 Boilerplate是什么?解决了什么问题? 对于第一次听说这个人,肯定都有这个疑问把!在网上看了看,发现很多人都认为这个是和Bootstrap一样的东西,这真是大错特错了. 实际上,HTML5 Boilerplate只是一个单纯的HTML模版. 什么?HTML模版?干嘛用? 这里不得不提所有前端开发

《HTML5揭秘》读书笔记(一)

一.HTML5的发展历程 + html演变的几个版本: html2.0.html3.2.html4.0.html4.01.html5. + 其中在html4.01发布之后,还发布了xtml1.0,它是基于html4.01的,没有新增任何新的元素和属性:xhtml遵循更严格的语法规范,xhtml定义的新的MIME类型(内容类型)为application/xhtml+xml,但是xtml1.0版本的网页仍然可以以text/html类型来发布,xtml1.0就是一个xml风格的html:在xtml1.