CSS之Normalize.css的使用(重置表)
CSS之Normalize.css的使⽤(重置表)
Normalize.css 只是⼀个很⼩的CSS⽂件,但它在默认的HTML元素样式上提供了跨浏览器的⾼度⼀致性。相⽐于传统的CSS reset,Normalize.css是⼀种现代的、为HTML5准备的优质替代⽅案。Normalize.css现在已经被⽤于、、、、以及许许多多其他框架、⼯具和⽹站上。
综述
Normalize.css是⼀种CSS reset的替代⽅案。经过和花了⼏百个⼩时来努⼒研究不同浏览器的默认样式的差异,这个项⽬终于变成了现在这样。
我们创造normalize.css有下⾯这⼏个⽬的:
保护有⽤的浏览器默认样式⽽不是完全去掉它们
⼀般化的样式:为⼤部分HTML元素提供
修复浏览器⾃⾝的bug并保证各浏览器的⼀致性
优化CSS可⽤性:⽤⼀些⼩技巧
解释代码:⽤注释和详细的⽂档来
贷款利息Normalize.css⽀持包括⼿机浏览器在内的超多浏览器,同时对HTML5元素、排版、列表、嵌⼊的内容、表单和表格都进⾏了⼀般化。尽管这个项⽬基于⼀般化的原则,但我们还是在合适的地⽅使⽤了更实⽤的默认值。
Normalize vs Reset
知道Normalize.css和传统Reset的区别是⾮常有价值的。
1. Normalize.css 保护了有价值的默认值
秦岚女儿>卖房个人所得税Reset通过为⼏乎所有的元素施加默认样式,强⾏使得元素有相同的视觉效果。相⽐之下,Normalize.css保持了许多默认的浏览器样式。这就意味着你不⽤再为所有公共的排版元素重新设置样式。当⼀个元素在不同的浏览器中有不同的默认值时,Normalize.css会⼒求让这些样式保持⼀致并尽可能与现代标准相符合。
2. Normalize.css 修复了浏览器的bug
它修复了常见的桌⾯端和移动端浏览器的bug。这往往超出了Reset所能做到的范畴。关于这⼀点,N
ormalize.css修复的问题包含了HTML5元素的显⽰设置、预格式化⽂字的font-size问题、在IE9中SVG的溢出、许多出现在各浏览器和操作系统中的与表单相关的bug。
可以看以下这个例⼦,看看对于HTML5中新出现的input类型search,Normalize.css是如何保证跨浏览器的⼀致性的。
/**
* 1. Addresses appearance set to searchfield in S5, Chrome
* 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Removes inner padding and search cancel button in S5, Chrome on OS X光波炉使用方法
*/
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
前挡风玻璃修复-webkit-appearance: none;
}
3. Normalize.css 不会让你的调试⼯具变的杂乱
使⽤Reset最让⼈困扰的地⽅莫过于在浏览器调试⼯具中⼤段⼤段的继承链,如下图所⽰。在Normali
ze.css中就不会有这样的问题,因为在我们的准则中对多选择器的使⽤时⾮常谨慎的,我们仅会有⽬的地对⽬标元素设置样式。
4. Normalize.css 是模块化的
这个项⽬已经被拆分为多个相关却⼜独⽴的部分,这使得你能够很容易也很清楚地知道哪些元素被设置了特定的值。因此这能让你⾃⼰选择性地移除掉某些永远不会⽤到部分(⽐如表单的⼀般化)。
5. Normalize.css 拥有详细的⽂档
Normalize.css的代码基于详细⽽全⾯的跨浏览器研究与测试。这个⽂件中拥有详细的代码说明并在中有进⼀步的说明。这意味着你可以到每⼀⾏代码具体完成了什么⼯作、为什么要写这句代码、浏览器之间的差异,并且你可以更容易地进⾏⾃⼰的测试。
这个项⽬的⽬标是帮助⼈们了解浏览器默认是如何渲染元素的,同时也让⼈们很容易地明⽩如何改进浏览器渲染。
如何使⽤ normalize.css
⾸先,安装或从Github,接下来有两种主要途径去使⽤它。
策略⼀:将normalize.css作为你⾃⼰项⽬的基础CSS,⾃定义样式值以满⾜设计师的需求。
策略⼆:引⼊normalize.css源码并在此基础上构建,在必要的时候⽤你⾃⼰写的CSS覆盖默认值。
结语
工商管理就业方向⽆论从适⽤范畴还是实施上,Normalize.css与Reset都有极⼤的不同。尝试⼀下这两种⽅法并看看到底哪种更适合你的开发偏好是⾮常值得的。这个项⽬在Github上以开源的形式开发。任何⼈都能够提交问题报告或者提交补丁。整个项⽬发展的过程对所有⼈都是可见的,⽽每⼀次改动的原因也都写在commit信息中,这些都是有迹可循的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。