10 Técnicas para Reset CSS
Postado em: 10 de novembro de 2008 por Pedro RogérioPor padrão, todos os elementos HTML possuem um estilo incorporado, e isso varia de Browser para Browser, não existe um padrão. Com isso você pode passar por vários problemas ao tentar desenvolver CSS Cross-browser.
Para evitar esse tipo de problema, é aconselhável utilizar técnicas de CSS Reset, ou seja, inciar o CSS com todos as tags HTML sem qualquer estilo padrão definido pelo browser. Abaixo vou mostrar algumas técnicas, algumas desconhecias por alguns, outras já utilizadas por default por vários desenvolvedores.
1. Generic Reset CSS
Esse com certeza é o mais conhecido e utilizado pelos desenvolvedores:
* {
padding: 0;
margin: 0;
border: 0;
}
2. Ateneu Popular CSS Reset
CSS inicial sugerido pelo site Ateneu Popular:
html, body, div, span, applet, object, iframe, h1, h2, h3,
h4, h5, h6, p, blockquote, pre, a, abbr, acronym,
address, big, cite, code, del, dfn, em, font, img, ins,
kbd, q, s, samp, small, strike, strong, sub, sup, tt,
var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
:focus { outline: 0;}
a, a:link, a:visited, a:hover, a:active{text-decoration:none}
table { border-collapse: separate;border-spacing: 0;}
th, td {text-align: left; font-weight: normal;}
img, iframe {border: none; text-decoration:none;}
ol, ul {list-style: none;}
input, textarea, select, button {font-size: 100%;font-family: inherit;}
select {margin: inherit;}
hr {margin: 0;padding: 0;border: 0;color: #000;background-color: #000;height: 1px}
3. Chris Poteet’s Reset CSS
Técnica sugerida por Chris Poteet’s para Reset CSS:
* {
vertical-align: baseline;
font-family: inherit;
font-style: inherit;
font-size: 100%;
border: none;
padding: 0;
margin: 0;
}
body {
padding: 5px;
}
h1, h2, h3, h4, h5, h6, p, pre, blockquote, form, ul, ol, dl {
margin: 20px 0;
}
li, dd, blockquote {
margin-left: 40px;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
4. Yahoo’s CSS Reset
Técnica de Reset CSS proposta pelo Yahoo:
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,p,blockquote,th,td {
padding: 0;
margin: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset,img {
border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
font-weight: normal;
font-style: normal;
}
ol,ul {
list-style: none;
}
caption,th {
text-align: left;
}
h1,h2,h3,h4,h5,h6 {
font-weight: normal;
font-size: 100%;
}
q:before,q:after {
content:'';
}
abbr,acronym { border: 0;
}
5. Eric Meyer Reset CSS
Esse com certeza deve ser o mais utilizado entre os desenvolvedores, proposto por Eric Meyer, é o que eu utilizo atualmente:
html, body, div, span, applet, object, iframe, table, caption,
tbody, tfoot, thead, tr, th, td, del, dfn, em, font, img, ins,
kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
acronym, address, big, cite, code, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend {
vertical-align: baseline;
font-family: inherit;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
outline: 0;
padding: 0;
margin: 0;
border: 0;
}
:focus {
outline: 0;
}
body {
background: white;
line-height: 1;
color: black;
}
ol, ul {
list-style: none;
}
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
font-weight: normal;
text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
6. Tantek Celik Reset CSS
Técnica de Reset CSS proposta por Tantek Celik:
:link,:visited { text-decoration:none }
ul,ol { list-style:none }
h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; }
ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input
{ margin:0; padding:0 }
a img,:link img,:visited img { border:none }
address { font-style:normal }
7. Christian Montoya Reset CSS
Técnica sugeria por Christian Montoya:
html, body, form, fieldset {
margin: 0;
padding: 0;
font: 100%/120% Verdana, Arial, Helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6, p, pre,
blockquote, ul, ol, dl, address {
margin: 1em 0;
padding: 0;
}
li, dd, blockquote {
margin-left: 1em;
}
form label {
cursor: pointer;
}
fieldset {
border: none;
}
input, select, textarea {
font-size: 100%;
font-family: inherit;
}
8. Rudeworks Reset CSS
Técinca de Reset CSS proposta por Rudeworks:
* {
margin: 0;
padding: 0;
border: none;
}
html {
font: 62.5% "Lucida Grande", Lucida, Verdana, sans-serif;
text-shadow: #000 0px 0px 0px;
}
ul {
list-style: none;
list-style-type: none;
}
h1, h2, h3, h4, h5, h6, p, pre,
blockquote, ul, ol, dl, address {
font-weight: normal;
margin: 0 0 1em 0;
}
cite, em, dfn {
font-style: italic;
}
sup {
position: relative;
bottom: 0.3em;
vertical-align: baseline;
}
sub {
position: relative;
bottom: -0.2em;
vertical-align: baseline;
}
li, dd, blockquote {
margin-left: 1em;
}
code, kbd, samp, pre, tt, var, input[type=‘text’], textarea {
font-size: 100%;
font-family: monaco, "Lucida Console", courier, mono-space;
}
del {
text-decoration: line-through;
}
ins, dfn {
border-bottom: 1px solid #ccc;
}
small, sup, sub {
font-size: 85%;
}
abbr, acronym {
text-transform: uppercase;
font-size: 85%;
letter-spacing: .1em;
border-bottom-style: dotted;
border-bottom-width: 1px;
}
a abbr, a acronym {
border: none;
}
sup {
vertical-align: super;
}
sub {
vertical-align: sub;
}
h1 {
font-size: 2em;
}
h2 {
font-size: 1.8em;
}
h3 {
font-size: 1.6em;
}
h4 {
font-size: 1.4em;
}
h5 {
font-size: 1.2em;
}
h6 {
font-size: 1em;
}
a, a:link, a:visited, a:hover, a:active {
outline: 0;
text-decoration: none;
}
a img {
border: none;
text-decoration: none;
}
img {
border: none;
text-decoration: none;
}
label, button {
cursor: pointer;
}
input:focus, select:focus, textarea:focus {
background-color: #FFF;
}
fieldset {
border: none;
}
.clear {
clear: both;
}
.float-left {
float: left;
}
.float-right {
float: right;
}
body {
text-align: center;
}
#wrapper {
margin: 0 auto;
text-align: left;
}
9. Anieto2K Reset CSS
Técnica de Reset CSS proposta por Andrés Nieto:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big,
cite, code, del, dfn, em, font, img,
ins, kbd, q, s, samp, small, strike,
strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
center, u, b, i {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: normal;
font-style: normal;
font-size: 100%;
font-family: inherit;
vertical-align: baseline
}
body {
line-height: 1
}
:focus {
outline: 0
}
ol, ul {
list-style: none
}
table {
border-collapse: collapse;
border-spacing: 0
}
blockquote:before, blockquote:after, q:before, q:after {
content: ""
}
blockquote, q {
quotes: "" ""
}
input, textarea {
margin: 0;
padding: 0
}
hr {
margin: 0;
padding: 0;
border: 0;
color: #000;
background-color: #000;
height: 1px
}
10. CSSLab CSS Reset
Técnica de CSS Reset proposta pelo site CSSLab:
html, body, div, span, applet, object, iframe, h1, h2, h3,
h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
:focus {
outline: 0;
}
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
a img, iframe {
border: none;
}
ol, ul {
list-style: none;
}
input, textarea, select, button {
font-size: 100%;
font-family: inherit;
}
select {
margin: inherit;
}
/* Fixes incorrect placement of numbers in ol's in IE6/7 */
ol { margin-left:2em; }
/* == clearfix == */
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}
Se você costuma utilizar alguma técnica de Reset CSS que não foi listada aqui, ou criou alguma, liste-a nos comentários.




















Igor Pimentel disse: 10.11.08 ás 08:38
Eu tbm utilizo a do Eric Meyer, as vezes costumo fazer algumas adaptações dependendo do projeto.. mas em geral utilizo a original.
Já li vários artigos DESaconcelhando a utilização da técnica de Reset CSS, mas, particularmente, não vejo como desenvolver um website Cross-browser sem a utilização dessa técnica.
Vou ver se experimento essas outras técnicas para ver se alguma me agrada mais que a do Eric Meyer.
Belo post. Abraço!
Guilherme R. Woelke disse: 10.11.08 ás 09:52
eu sempre uso o *{margin:0; padding:0; border:none;font-family:”Trebuchet MS”} XD
abraços
Hugo disse: 11.11.08 ás 03:05
Só para constar, quem quiser usar o CSS Reset do Eric já tem versão mais nova! Ele mantém sempre a última versão na página http://meyerweb.com/eric/tools/css/reset/index.html
Foram feitas algumas alterações, como por exemplo o “background: transparent;” ao invés de forçar o tradicional preto/branco diretamente no body.
Isaias Alexandre disse: 11.11.08 ás 15:51
Muitas das técnicas acima propõem o uso de font-size: 100%, que geralmente corresponde a 16px ou a 12pt. Alguém utiliza unidades escalonaveis (%, em) para definir o tamanho das fontes?
Por serem herdeiras elas necessitam de um ponto onde encontram o valor e unidade pai, por exemplo body { font-size: 10px; } onde aplicando-se a p { font-size: 2em; } teriamos na realidade 20px…
Queria saber o q vocês utilizam no boby como unidade de medida, px, em, % (como esta em alguns modelos acima – 100%)
Pedro Rogério disse: 11.11.08 ás 15:59
@Isaias,
Eu costumo definir no body assim: 62.5%, com isso, o tamanho de fonte inicial é de 10px.
Isaias Alexandre disse: 12.11.08 ás 09:08
Mais uma pergunta relacionada ao tamanho das fontes, nas tags p, span, a e afins, vocês costumam utilizar qual unidade de medida? em ou %?
Encontrei uma referência muito interessante onde o autor do artigo prova porque o % é mais indicado que o em para setar o valor da propriedade font-size. Vejam:
http://www.thesug.org/blogs/kyles/Lists/Posts/Post.aspx?List=89c8858b%2D90d2%2D4750%2Da11a%2De599248e6c69&ID=22
Abs
Pedro Rogério disse: 12.11.08 ás 09:15
Eu costumo utilizar “em” para tudo. Aqui você pode ver 2 artigos muito interessantes sobre isso:
http://clagnut.com/blog/348/
http://www.ibm.com/developerworks/web/library/wa-aj-webportal/index.html
Irei dar uma lida nesse link que você mandou e depois lhe dou minha opinião.
Isaias Alexandre disse: 12.11.08 ás 14:58
Modelo bem interessante onde a unidade de medida utilizada é o em, ou seja tudo ai será relativo ao tamanho da fonte, brinquem usando Ctrl+Scroll do mouse.
http://www.csszengarden.com/?cssfile=/063/063.css
Modelo utilizando % onde a relação é ligada as dimensões do viewport, divirtam-se mudando as dimensões da tela.
http://www.csszengarden.com/?cssfile=/063/063.css
Abs
Leo Caseiro disse: 12.11.08 ás 16:55
@Pedro, você podia pegar os links do Isaias, juntar com o seu e faze um post sobre %, px, em, pt e etc no CSS NO LANCHE né?
Nem preciso dizer que você é único do mundo que encontra todas essas técnicas. Por isso que eu digo que tu és o Google Humano rsrs
Isaias Alexandre disse: 13.11.08 ás 08:38
Uma ótima idéia Leo, estou reestruturando algumas coisas na minha maneira de implementar e pesquisando na net percebi que o assunto é bem interessante e vasto, pena que não tenhamos referências em pt-BR.
Abs a todos!
Jens Meiert disse: 15.11.08 ás 08:33
Feeling free:
http://meiert.com/en/blog/20080419/reset-style-sheets-are-bad/
Leo Caseiro disse: 10.12.08 ás 16:23
Pedro, estava desenvolvendo um WebStandards aqui para aprender. Eu estava utilizando o RESET do Eric Meyer. O mesmo que você informou que sempre utiliza. Eu não sei porque, no Chrome ele não estava zerando as margins. Com isso, resolvi inserir no topo no meu CSS o *{margin:0} e funcionou perfeitamente. Você sabe me dizer pq o Chrome num rola?
Abs
Pedro Rogério disse: 10.12.08 ás 18:20
@Leo Caseiro,
Teoricamente é para funcionar, utilizo essa técnica em todos os meus Jobs e nunca passei por esse tipo de problema. Se você der uma olhada nesse blog: http://www.semlimites.blog.br/ no Google Chrome, verá que funciona tudo ok. Dê uma olhada no CSS e verá que no topo está lá o reset do Eric Meyer. Abraços.
MARCOS SENA disse: 11.02.09 ás 02:02
TRABALHO EM UMA EMPRESA DE TELECOMUNICAÇÃO,E PODE VERIFICAR Q OS APRALEHOS Q FCAVAM EM STANDY BAY,AO AMANHECER QDO LIGAVAMOS O APARELHO,TINHAMOS Q RESETAR,P/ SINTONIZAR OS APARELHOS LIGADOS,SOLUCIONAMOS,DESARMANDO DSUNTORES,MAS,É INTERESSANTE SABER Q EXISTE VARIAS FORMAS DE RESET,FACILTA EM TERMOS TECNICOS,É UMA AJUDA AO USUÁRIO. UM ABRAÇO.
tips disse: 26.05.09 ás 17:51
Your site is a much needed addition to my life. THANK YOU!