Normalize.css源码注释翻译&浏览器css兼容问题的理解

时间:2021-07-31 19:17:03

版本v5.0.0源码地址:


https://necolas.github.io/normalize.css/5.0.0/normalize.css

翻译版:


/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. 更改所有浏览器中的默认字体系列(意见)。
 * 2. 更正所有浏览器中的行高。
 * 3. 在Windows Phone的IE或者ios上方向更改后,防止字体大小的调整。
 */

/* 文档
   ========================================================================== */

html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

/* 部分
   ========================================================================== */

/**
 * 删除所有浏览器的边距 (意见).
 */

body {
  margin:;
}

/**
 * 更正IE9以下的display
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * 更正Chrome,Firefox和Safari 中`section`和*`article`上下文中`h1`元素的字体大小和边距。
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* 分组内容
   ========================================================================== */

/**
 * 在IE9-添加正确的display.
 * 1.在IE中添加正确的display.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * 在IE8中添加正确的margin.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. 在firefox中添加正确的box sizing.
 * 2. 在 Edge and IE中显示overflow.
 */

hr {
  box-sizing: content-box; /* 1 */
  height:; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. 更正所有浏览器中字体的大小的继承和缩放.
 * 2. 更正所有浏览器中`em`字体大小.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* 文本级语义
   ========================================================================== */

/**
 * 1. 删除IE10中active link上的灰色背景.
 * 2. 删除链接下划线在iOS 8+和Safari 8+中的差距。
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 删除聚焦链接上的轮廓,即当他们是active或hover时(意见).
 */

a:active,
a:hover {
  outline-width:;
}

/**
 * 1. 删除Firefox 39-中的底部边框。
 * 2. 在Chrome,Edge,IE,Opera和Safari中添加正确的文字装饰。
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * 根据Safari 6中的下一个规则防止重复应用“bolder”。
 */

b,
strong {
  font-weight: inherit;
}

/**
 * 在Chrome,Edge和Safari中添加正确的font weight。
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. 纠正所有浏览器中字体大小的继承和缩放。
 * 2. 在所有浏览器中更正'em'字体大小
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * 在Android 4.3-中添加正确的字体样式。
 */

dfn {
  font-style: italic;
}

/**
 * 在 IE9- 中添加正确的背景和颜色。
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 在所有浏览器中添加正确的字体大小。
 */

small {
  font-size: 80%;
}

/**
 * 所有浏览器中,防止`sub`和`sup`元素影响行高
 *
 */

sub,
sup {
  font-size: 75%;
  line-height:;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* 嵌入内容
   ========================================================================== */

/**
 * 在IE 9-中添加正确的display。
 */

audio,
video {
  display: inline-block;
}

/**
 * 在iOS 4-7中添加正确的display。
 */

audio:not([controls]) {
  display: none;
  height:;
}

/**
 * 删除IE 10中链接内图像上的边框。
 */

img {
  border-style: none;
}

/**
 * 隐藏IE中的overflow.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Form表单
   ========================================================================== */

/**
 * 1. 在所有浏览器中更改字体样式(意见)。
 * 2. 删除Firefox和Safari中的边距。
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin:; /* 2 */
}

/**
 * 在IE中显示overflow。
 * 1.在Edge显示overflow。
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * 删除Edge,Firefox和IE中的文本变换的继承。
 * 1.在Firefox中删除文本变换的继承。
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. 在Android 4防止WebKit的bug:销毁本机`audio`和`video`控件
 * 2. 纠正在iOS和Safari中无法创建可点击类型的样式。
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * 删除Firefox中的内边框和内边距。
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding:;
}

/**
 * 恢复上一个规则未设置的焦点样式。
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * 更改所有浏览器中的边框,边距和填充(意见)。
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1.纠正在Edge和IE中的文本换行。
 * 2.纠正IE中'fieldset`元素的颜色继承。
 * 3.在所有浏览器中删除padding以便开发者在他们清零`fieldset`元素时不会出错。
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding:; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1.在IE9-中添加正确的display。
 * 2. 在Chrome,Firefox和Opera中添加正确的垂直对齐方式。
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * 删除IE中的默认垂直滚动条。
 */

textarea {
  overflow: auto;
}

/**
 * 1. 在IE 10-中添加正确的box sizing。
 * 2. 删除IE 10-中的padding。
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding:; /* 2 */
}

/**
 * 修正Chrome中增加和减少按钮的游标样式。
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1.纠正Chrome和Safari中的奇怪外观。
 * 2.更正Safari中的outline样式。
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * 在MacOS中删除Chrome和Safari中的内部padding和取消按钮。
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1.纠正了在iOS和Safari中无法创建可点击类型的样式。
 * 2.在Safari中将字体属性更改为`inherit`。
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* 互动
   ========================================================================== */

/*
 * 在IE 9-中添加正确的display。
 * 1.在Edge,IE和Firefox中添加正确的display。
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * 在所有浏览器中添加正确的display。
 */

summary {
  display: list-item;
}

/* 脚本
   ========================================================================== */

/**
 * 在IE 9-中添加正确的display。
 */

canvas {
  display: inline-block;
}

/**
 * 在IE中添加正确的display。
 */

template {
  display: none;
}

/* 隐藏
   ========================================================================== */

/**
 * 在IE 10-中添加正确的display。
 */

[hidden] {
  display: none;
}

从Normalize.css源码中读到的 ==浏览器css兼容问题==:


本地编辑完再更新


*作者注:
*部分专有词汇和css属性值未做翻译
*有不恰当之处请联系译者Nirvana-zsy(hnuzsy@hnu.edu.cn)
*20170308
*关于转载:
*任何人可以进行注明出处转载、分享
*但不可在未经允许的情况下用于商业用途,感谢配合!
*详细参见Attribution-NonCommercial 3.0 License(https://creativecommons.org/licenses/by-nc/3.0/)