如何做默认样式重置?resetting 和 normalizing 之间有什么区别?

大家好,我是IT修真院北京分院第21期的学员杨梦桐,今天的这篇文章,主要关于浏览器样式的重置。

到目前为止,市面上的五大主流浏览器为IE、Chrome、Firefox、Safari和Opera。当这些浏览器在载入html文件的时候,如果我们没有给html元素设置样式,浏览器会基于自己的默认样式对其中的一些标签进行页面布局,但是由于浏览器的默认样式不同,所以会导致实现页面布局的方式不同。比如有一些浏览器通过margin实现内容的间距,而另一些浏览器通过padding实现。而且例如如滚动条,按钮,选择框等元素的默认CSS样式,也不近相同。这样就导致同一个页面在不同浏览器载入后显示的效果不同。为了尽可能避免这种情况,我们可以通过使用CSS样式重置这一方式,使网页展示效果保持一致。

以下是一些浏览器的默认样式,从中甚至可以看出,同一浏览器的不同版本也会有一些样式差异。

webkit浏览器默认样式:https://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css

火狐浏览器默认样式:https://hg.mozilla.org/mozilla-central/file/tip/layout/style/res/html.css

IE浏览器不同版本默认样式对比表:http://developer.doyoe.com/default-style/

最早的一份CSS reset来自Tantek的undohtml.css,很简单的代码,Tantek 根据自己的需要,对浏览器的默认样式进行了一些重置。其余一些有名的CSS reset有业界领袖Eric Meyer的reset或是Tripoli Reset。现在,基于完美的实现页面在不同浏览器的显示这一需求,CSS重置这一方式被普遍地运用在页面布局中。

首先,我们来了解一下CSS reset。

1. 什么是CSS Reset?

我们可以把它叫做CSS重设,也有人叫做CSS复位、默认CSS、CSS重置等。CSS重设就是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值,所以我们要先定义好一些CSS样式,去“覆盖”浏览器的CSS默认属性,来让所有浏览器都按照同样的规则解释CSS,这样就能避免发生这种问题。

2.如何实现CSS Reset?

CSS Reset的目的是让各个浏览器的CSS样式有一个统一的基准,而实现这一基准最主要的方式就是“清零”,即将所有的默认样式直接清除。最简单的方法是直接使用

* {

outline: 0;

padding: 0;

margin: 0;

border: 0;

}

其中 * 就是常说的通配符,意思是“所有的”。使用 * 代表所有的标签或元素,就叫做通配符选择器。由于 * 会匹配所有的元素,所以当浏览器解析到 *时,会将页面内的所有标签都进行如上的样式重置,这样会影响网页渲染的时间,所以使用 * 时一定要慎重,尽量不要在样式重置时应用 * 。

除了CSS reset之外,还有一种样式重置的方式就是使用Normalize.css。Normalize.css 只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性。相比于传统的CSS reset,Normalize.css是一种现代的、为HTML5准备的优质替代方案。Normalize.css现在已经被用于Twitter Bootstrap、HTML5 Boilerplate、GOV.UK、Rdio、CSS Tricks以及许许多多其他框架、工具和网站上。我们可以在这里查看它的源码:https://github.com/necolas/normalize.css,关于源码的中文注释,可以查看:http://www.cnblogs.com/shrekuu/archive/2013/06/06/normalize-cn.html

相较CSS reset,Normalize有一些自己的优势。

1. Normalize.css没有重置所有的属性,所以一些默认公用的属性无需自己再手动添加。

2. Normalize.css修复了浏览器的bug,修复的问题包含了HTML5元素的显示设置、预格式化文字的font-size问题、在IE9中SVG的溢出、许多出现在各浏览器和操作系统中的与表单相关的bug。

3. Normalize.css避免了浏览器调试工具中的大段继承链,

4. Normalize.css 是模块化的并且拥有详细的文档,方便进行自己的测试。

如果需要进行浏览器的默认样式重置,则可以根据自己的需要进行设置,或者写一段适合自己的修改默认样式的代码。要避免无意义的重置,尽可能让自己的代码简洁有效优化好。

参考文献

张鑫旭-《CSS reset的重新审视 – 避免样式重置》:http://www.zhangxinxu.com/wordpress/2010/04/css-reset%E7%9A%84%E9%87%8D%E6%96%B0%E5%AE%A1%E8%A7%86-%E9%81%BF%E5%85%8D%E6%A0%B7%E5%BC%8F%E9%87%8D%E7%BD%AE/

来,让我们谈一谈 Normalize.css:http://jerryzou.com/posts/aboutNormalizeCss/

Normalize.css 与传统的 CSS Reset 有哪些区别?:https://www.zhihu.com/question/20094066/answer/25004727

PPT :https://ptteng.github.io/PPT/PPT/css-71-CSS_Reset&Normalize.html#/

视频链接:https://v.qq.com/x/page/d0518tdfd5t.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容