4.4 万 Star!GitHub 和 Twitter 都在用的 CSS 库

计算机组成
• 阅读 1211

【导语】:Normalize.css 使浏览器呈现的所有元素更加一致,符合现代标准。它精确地只针对需要规范化的样式。

简介

不同浏览器对于同一个元素会有不一样的默认样式,normalize.css 采用和平且高效的方式,解决了浏览器默认样式的问题,尽可能让同一个 CSS 文件在不同的浏览器上显示一样的效果。

normalize.css 是一个小的 CSS 文件,它在 HTML 元素的默认样式中提供了更好的跨浏览器一致性。它是一种现代的、支持 HTML5 的、替代传统 CSS reset 的方法。

目前 Twitter、GitHub、Medium、Guardian、GOV.UK、CSS Tricks 和 Bootstrap 等许多其他框架、工具包和站点都在使用。

主要作用:

  • 与许多 CSS reset 不同,保留有用的默认值,而非删除它们。
  • 标准化各种元素的样式。
  • 纠正错误和常见的浏览器不一致问题。
  • 通过细微的修改提高可用性。
  • 使用详细注释解释代码的作用。

它支持范围广泛的浏览器(包括移动浏览器),并包含对 HTML5 元素、排版、列表、嵌入内容、表单和表格进行规范化。

  • Chrome
  • Edge
  • Firefox ESR+
  • IE 10+
  • Safari 8+
  • Opera

项目地址是:

https://github.com/necolas/no...

下载安装

  • npm
npm install --save normalize.css
  • CDN
https://yarnpkg.com/en/package/normalize.css
  • 直接下载
https://necolas.github.io/normalize.css/latest/normalize.css

简单使用

normalize.css 修复了 CSS reset 范围之外的常见桌面和移动浏览器错误。包括 HTML5 元素的显示设置、更正 font-size 预格式文本、IE9 中的 SVG 溢出以及跨浏览器和操作系统的许多与表单相关的错误。

normalize.css 使新的 HTML5 search 输入类型跨浏览器一致和样式化:

/**
 * 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;
}
开源前哨 日常分享热门、有趣和实用的开源项目。参与维护 10万+ Star 的开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。
点赞
收藏
评论区
推荐文章
Amy948 Amy948
4年前
CSS Modules 解决 react 项目 css 样式互相影响的问题
CSSModules解决react项目css样式互相影响的问题CSSModules解决react项目css样式互相影响的问题(http
菜园前端 菜园前端
2年前
你真的了解的CSS3盒模型和CSS3特性知识吗
原文链接:什么是CSS3?CSS3是CSS一个新的标准,直接理解为是CSS的升级版,里面新增了很多样式(特性)。CSS3盒子模型:::warningCSS3盒子模型必须要掌握,否则你在实际开发中遇到样式错乱很难排查问题。:::旧版的IE浏览器与其它浏览器解
Souleigh ✨ Souleigh ✨
4年前
只听说过CSS in JS,怎么还有JS in CSS?
CSSinJS是一种解决css问题想法的集合,而不是一个指定的库。从CSSinJS的字面意思可以看出,它是将css样式写在JavaScript文件中,而不需要独立出.css、.less之类的文件。将css放在js中使我们更方便的使用js的变量、模块化、treeshaking。还解决了css中的一些问题,譬如:更方便解决基于状态的样式,更容易追溯依赖关
Stella981 Stella981
3年前
React 移动端框架
1\.MaterialUIMaterialUI组件是独立工作的。它们是自我支持的,并只要注入而且仅注入它们需要显示的样式。他们不依赖任何全局的样式表,如normalize.css(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fl
Wesley13 Wesley13
3年前
CSS基本用法介绍
CSS介绍css定义如何显示HTML元素.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染).CSS语法css实列每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。css注释/这是注释/CSS的几种引入方
Wesley13 Wesley13
3年前
CSS开发过程中的20个快速提升技巧
摘要:本文涵盖了20个CSS技巧,可以解决许多工作中常见的问题,让你也成为一个CSS高手。1、使用CSS重置(reset)css重置库如normalize.css已经被使用很多年了,它们可以为你的网站样式提供一个比较清晰的标准,来确保跨浏览器之间的一致性。大多数项目并不需要这些库包含的所有规则,可以
Stella981 Stella981
3年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Wesley13 Wesley13
3年前
CSS基础知识整理
1什么是CSS?CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。
Wesley13 Wesley13
3年前
JS和CSS加载(渲染)机制不同
一、结论CSS可以在页面加载完成后随时渲染。举个例子:通过js给某个元素加一个id或者css,只要这个id或者css有对应的样式,此元素的样式就会自动生效。JS不可以在页面加载完成后生效。最明显的例子就是使用EasyUI的时候,iframe中哪些样式无效(EasyUi是依靠JS进行样式处理的,所以无法运行JS,那么样式也就无法设置。简单点说
Stella981 Stella981
3年前
Selenium3自动化测试【13】FireFox与Chrome浏览器元素定位
目前大部分浏览器都内置了相关插件或组件,能够帮助我们快速、简洁地展示各类元素的属性定义、DOM结构、CSS样式等属性。本书中使用的浏览器主要是FireFox、Chrome(这2款浏览器也是作为开发者常用的浏览器),因此本节介于这2款浏览器一起看看这些工具(组件)的使用方法。火狐(FireFox)浏览器如果大家对火狐浏览器较为熟知,在旧版本上的
Stella981 Stella981
3年前
CSS前端经典面试题及解析——小白入门必备
1.CSS选择器的优先级是如何计算的?浏览器通过优先级规则,判断元素展示哪些样式。优先级通过4个维度指标确定,我们假定以a、b、c、d命名,分别代表以下含义:1.a表示是否使用内联样式(inlinestyle)。如果使用,a为1,否则为0。2.b表示ID选择器的数量。3.c表示类选择器、属性