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

Pro*_*oob 10 html css normalization jsfiddle normalize-css

我在JSFiddle的HTML中尝试了一些带有无序列表的代码,我对死亡感到恼火,因为发现<ul>没有明显原因的子弹会显示出来.在对我的代码尝试不同的事情时,我终于意识到我需要在jsfiddle页面上取消选中"normalized css"选项.

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

谢谢你的关注.

Chr*_*oph 10

规范化css会在渲染html元素时尝试平衡浏览器之间的差异.许多浏览器都有"预设置":p- h元素有垂直边距,列表也有一些边距和填充.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;}
Run Code Online (Sandbox Code Playgroud)

标准化css的意义是值得商榷的,因为你必须在样式表中手动重新声明每种样式(即使那些具有良好意义的预设,例如简单font-weightemstrong浏览器同等对待的标签).

我使用Eric Meyer的重置已经有一段时间了,但是停止使用它,因为它重置了太多样式,需要重新声明.这不值得IMO.

对于一个真正好的样式规范化器,请查看http://html5boilerplate.com/上的style.css .