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



我在JSFiddle上尝试了一些HTML中无序列表的代码,当我发现<ul>中的项目符号没有明显原因而不会显示时,我非常恼火。在对代码进行不同的尝试后,我终于意识到我需要取消选中jsfiddle页面上的"normalized css"选项。

在那之后,我在谷歌上搜索了它的实际内容,并从W3C.org上阅读了这个页面。我明白了,这个页面只谈论变音符号和重音符号。但为什么没有选中带标准化css选项的项目符号?如果您选择该选项,还会影响哪些其他因素?

感谢您的关注。

标准化css试图在渲染html元素时平衡浏览器之间的差异。许多浏览器都有"预先设置":ph-元素有垂直边距,列表也有一些边距和填充。CCD_ 4和CCD_。

所有这些预先设置都被重置,这样你在所有浏览器中都有一个一致的工作基础。

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的意义是有争议的,因为您必须手动重新声明样式表中的每个样式(即使是那些有意义的预设,例如浏览器平等对待的emstrong标签上的简单font-weight)。

我使用了埃里克·迈耶的重置一段时间,但停止使用它,因为它重置了太多需要再次声明的样式。这不值得IMO.

要获得真正好的样式规范器,请查看http://html5boilerplate.com/.

在jsfiddle中使用的"规范化"意味着应用一组旨在清理问题的CSS规则。它通常被称为"CSS重置",这是一种有争议的技术。重要的是要意识到,当覆盖浏览器默认值时,它也可能覆盖从Web出现之初就存在的默认呈现,例如默认的上下边距和ul元素的一些缩进,以及默认的列表标记(项目符号)。这取决于特定的"规范化"样式表的使用,取决于它的侵略性。

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

Normalize.css是一个众所周知的重置样式表,用于在浏览器之间对齐一些基本样式,作为开发的共同基础。

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

另请参阅SO上关于最佳CSS重置的帖子,以及重置样式表的最佳集合。

相关内容

  • 没有找到相关文章

最新更新