CSS中的规范化究竟做了什么?

时间:2012-07-20 11:19:13

标签: html css normalization jsfiddle normalize-css

我在JSFiddle上用HTML中的无序列表尝试了一些代码,我发现<ul>中的子弹没有明显的原因,我对此感到恼火。在对我的代码尝试不同的事情时,我终于意识到我需要在jsfiddle页面上取消选中“normalized css”选项。

之后我用Google搜索了它实际上是什么,并从W3C.org阅读this页面。这个页面只讨论变音符号和重音符号,我明白了。但为什么没有检查标准化css选项的子弹?如果选择该选项,会受到哪些其他影响?

感谢您的关注。

4 个答案:

答案 0 :(得分:9)

规范化css会在渲染html元素时尝试平衡浏览器之间的差异。许多浏览器都有&#34;预设置&#34;:ph - 元素具有垂直边距,列表也有一些边距和填充。 emstrong标记使用粗体字体。

重置所有这些预设置,以便您在所有浏览器中拥有一致的工作基础。

JSFiddles normalize.css看起来像这样:

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
    margin:0;
    padding:0;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img { 
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-style:normal;
    font-weight:normal;
}
ol,ul {
    list-style:none;
}
caption,th {
    text-align:left;
}
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}
q:before,q:after {
    content:'';
}
abbr,acronym { border:0;}

规范化css的意义是值得商榷的,因为你必须在样式表中手动重新声明每种样式(即使是那些很有意义的预设,例如font-weight和{{1}上的简单em浏览器同等对待的标签。)

我曾使用Eric Meyer's reset一段时间,但已停止使用它,因为它重置了太多需要重新声明重新声明的样式。这不值得IMO。

对于真正好的样式规范化程序,请查看http://html5boilerplate.com/中的style.css。

答案 1 :(得分:1)

Normalize.css 是众所周知的重置样式表,用于在浏览器中对齐某些基本样式,以便将其设置为开发的共同基础。

一些开发人员发现它是多余的,或者可能更喜欢使用自己的重置样式表。可以使用许多现成的重置脚本,其中包括着名的Eric Mayer's reset.css(由BluePrint使用)和YUI2's stylesheet

另请参阅a post here on SO on the best CSS resetbest-of-collection重置样式表。

答案 2 :(得分:0)

jsfiddle中使用的“规范化”意味着应用一组旨在清理的CSS规则。它通常被称为“CSS重置”,它是一种辩论技术。重要的是要意识到,当覆盖浏览器默认值时,它也可能会覆盖从Web开始就一直存在的默认渲染,例如默认的顶部和底部边距以及ul元素的一些缩进 - 以及默认列表标记(子弹)。这取决于特定的“标准化”样式表的使用,以及它的侵略性。

上面提到的W3C页面上描述的规范化与此无关。它处理字符的Unicode规范化,这是在角色级别发生的(当它发生时),这是一个相对理论上的问题。

答案 3 :(得分:0)

Normalize用于休息浏览器CSS。每个浏览器都有自己的属性用于每个DOM元素,此属性将浏览器更改为浏览器。

html {
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
meter,
nav,
object,
ol,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video,
xmp {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
b,
strong {
  font-weight: bold;
}
img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}
ol,
ul {
  list-style: none;
}
ol li,
ul li {
  display: list-item;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
html,
body {
  height: 100%;
}
form {
  height: 100%;
}
/***************************************************************************************
* GENERAL STARTS
***************************************************************************************/
body {
  font-size: 12px;
  line-height: 18px;
  color: #444444;
  padding: 0;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
}
a {
  color: #3a7da3;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
  color: #444444;
  outline: none !important;
}
a:focus {
  color: #444444;
  outline: none !important;
  text-decoration: none;
}
a.active {
  color: #444444;
  text-decoration: none;
}
a.btn:hover,
a.btn:focus {
  text-decoration: none;
}
a .normal-link {
  color: #444;
  text-decoration: none;
}
a .normal-link:hover {
  text-decoration: underline;
}
p {
  font-size: 12px;
  margin-bottom: 15px;
  line-height: 20px;
}
.silent-text,
.silent {
  color: #a1a1a1;
  display: inline-block;
}
small,
.small {
  font-size: 11px;
}
/***************************************************************************************
* HEADINGS STARTS
***************************************************************************************/
/* All Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.2;
}
h1,
.title {
  font-size: 36px;
  font-family: Arial, Helvetica, sans-serif;
}
h2,
.sub-title {
  font-size: 30px;
  font-family: Arial, Helvetica, sans-serif;
}
h3,
.title {
  font-size: 24px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 16px;
}
h6 {
  font-size: 14px;
}
/***************************************************************************************
* COMMON CSS STARTS
***************************************************************************************/
input[type=text]::-ms-clear {
  display: none;
}
.form-control {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  background: #f9f9f9;
  border: 1px solid #ddd;
  color: #444;
  padding: 6px 8px;
}
.form-control:focus,
.form-control.active {
  background: #ffffff;
  border-color: #cccccc;
  box-shadow: none;
  transition: border .2s linear;
  -webkit-transition: border .2s linear;
}
.form-control:focus {
  outline: none;
  box-shadow: none;
}
.form-control-sm {
  padding: 3px 8px;
  height: auto;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed !important;
}
.form-control.active::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #444444;
  opacity: 1;
}
.form-control.active::-moz-placeholder {
  /* Firefox 19+ */
  color: #444444;
  opacity: 1;
}
.form-control.active:-ms-input-placeholder {
  /* IE 10+ */
  color: #444444;
  opacity: 1;
}
.form-control.active:-moz-placeholder {
  /* Firefox 18- */
  color: #444444;
  opacity: 1;
}
.form-control::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #BDBDBD;
  opacity: 1;
}
.form-control::-moz-placeholder {
  /* Firefox 19+ */
  color: #BDBDBD;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  /* IE 10+ */
  color: #BDBDBD;
  opacity: 1;
}
.form-control:-moz-placeholder {
  /* Firefox 18- */
  color: #BDBDBD;
  opacity: 1;
}
.has-error,
.form-control.has-error,
.form-control-validation {
  border-color: #cc0000;
}
.has-warning,
.form-control.has-warning {
  border-color: #f0ad4e;
}
.has-success,
.form-control.has-success {
  border-color: #5cb85c;
}
.has-error-text,
.form-group .has-error-text {
  color: #cc0000;
}
.has-error-text,
.form-group .has-error-text {
  font-style: normal;
  font-size: 11px;
  margin-left: 8px;
  line-height: 14px;
}
.has-warning-text {
  color: #f0ad4e;
  font-style: normal;
  font-size: 11px;
}
.has-success-text {
  color: #5cb85c;
  font-style: normal;
  font-size: 11px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  select.form-control {
    padding-left: 6px;
}
}
@supports (-ms-ime-align:auto) {
  select.form-control {
    padding-left: 7px;
}
}
/************************
Margin/Padding
*************************/
.m-t-xl {
  margin-top: 30px;
}
.m-t-lg {
  margin-top: 20px;
}
.m-t-md {
  margin-top: 15px;
}
.m-t-sm {
  margin-top: 10px;
}
.m-t-xs {
  margin-top: 5px;
}
.m-t-0 {
  margin-top: 0;
}
.m-b-lg {
  margin-bottom: 20px;
}
.m-b-xlg {
  margin-bottom: 50px;
}
.m-b-md {
  margin-bottom: 15px;
}
.m-b-sm {
  margin-bottom: 10px;
}
.m-b-xs {
  margin-bottom: 5px;
}
.m-b-0 {
  margin-bottom: 0;
}
.m-l-lg {
  margin-left: 20px;
}
.m-l-md {
  margin-left: 15px;
}
.m-l-sm {
  margin-left: 10px;
}
.m-l-xs {
  margin-left: 5px;
}
.m-l-0 {
  margin-left: 0;
}
.m-r-lg {
  margin-right: 20px;
}
.m-r-md {
  margin-right: 15px;
}
.m-r-sm {
  margin-right: 10px;
}
.m-r-xs {
  margin-right: 5px;
}
.m-r-0 {
  margin-right: 0;
}
.p-t-lg {
  padding-top: 20px;
}
.p-t-md {
  padding-top: 15px;
}
.p-t-sm {
  padding-top: 10px;
}
.p-t-xs {
  padding-top: 5px;
}
.p-b-lg {
  padding-bottom: 20px;
}
.p-b-md {
  padding-bottom: 15px;
}
.p-b-sm {
  padding-bottom: 10px;
}
.p-b-0 {
  padding-bottom: 0;
}
.p-b-xs {
  padding-bottom: 5px;
}
.p-l-lg {
  padding-left: 20px;
}
.p-l-md {
  padding-left: 15px;
}
.p-l-sm {
  padding-left: 10px;
}
.p-l-xs {
  padding-left: 5px;
}
.p-r-lg {
  padding-right: 20px;
}
.p-r-md {
  padding-right: 15px;
}
.p-r-sm {
  padding-right: 10px;
}
.p-r-xs {
  padding-right: 5px;
}
.no-mar {
  margin: 0 !important;
}
.no-pad {
  padding: 0 !important;
}
.p-l-n {
  padding-left: 0;
}
.p-r-n {
  padding-right: 0;
}
.p-t-n {
  padding-top: 0;
}
.ptb-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.font-md {
  font-size: 14px;
}
.font-lg {
  font-size: 16px;
}
img.img-responsive {
  display: inline-block;
  max-width: 100%;
}
.v-table {
  display: table;
}
.v-table-cell {
  display: table-cell;
  vertical-align: middle;
}
.relative {
  position: relative;
}
.float-none {
  float: none;
}
.d-i-b {
  display: inline-block !important;
}
.data-container {
  border: 1px solid #eeeeee;
  min-height: 600px;
}
.d-b {
  display: block !important;
}
.cursor-pointer {
  cursor: pointer;
}
.font-size-xs {
  font-size: 15px;
}
.text-left-xs {
  text-align: left !important;
}
.text-right-xs {
  text-align: right !important;
}
p.text-wrapping,
.text-wrapping {
  margin: 0;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/*----- Text ellipes CSS end ----*/