Reset CSS的存在,只是因为HTML元素都有自己默认的样式,而且各个浏览器里的预设样式可能都不同——W3C上有详细的HTML 4元素的默认样式说明文档。这种情况下先废后立,把所有浏览器自带的样式进行统一,然后再重新定义,可以避免各浏览器对不同的HTML元素样式解析不同的问题。
这是YUI的Reset 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;
}
做demo的时候会使用*{margin:0;padding:0;},但是正式做项目的时候还是使用了Yahoo的这套预置样式,只不过去除了一些很少用的元素,比如语法有争议的abbr,acronym,很少用的pre、address、cite、code、dfn、var,以及q:after和q:before。
CSS权威指南的作者Eric Meyer也有对应版本的reset样式:http://meyerweb.com/eric/tools/css/reset/,并被用在了CSS框架blueprintcss上。主要区别在于预置了一些元素的outline和vertical-align属性。
懒人的做法是直接copy,如果要减少CSS文件那么几个字节的话,根据自己项目中使用到的HTML元素各取所需就好。


