Hoje vou falar sobre uma coisa simples, rápida e MUUITO útil… o CSS Reset ou CSS Reseter.
Há um grande problema quando implementamos um layout em HTML e CSS e vamos testar em outros browsers como o Internet Explorer ou Safari… Alguns elementos não se comportam da mesma forma, mesmo que esse comportamento não tenha sido definido/sobrescrito por você… por exemplo o H1, H2 e H3… Eles têm tamanhos diferentes em cada browser, mesmo usando a mesma fonte eles vão aparecer – se você não definir esse tamanho – com tamanhos diferentes.
O que é?
O CSS Reset é – basicamente – um arquivo que “limpa” os estilos padrões de todos os elementos HTML que já possuem uma formatação padrão. Ele tira cores, tamanhos de fonte, margins, paddins, efeitos e decorações… Quase tudo de quase todos os elementos vira “padrão”, como um texto sem formatação/alteração nenhuma.
Como usar?
Da forma mais simples do mundo: inserindo o arquivo no seu site como um CSS normal, antes de qualquer outro CSS que seu site usar.
Se você inserir em um site pronto você pode ver seu site se desfigurar todo, isso vai significar que você se baseou em estilos padrões de alguns elementos, o que é errado… Já que esse estilo pode mudar entre navegadores/futuras versões.
É altamente recomendável que você insira/use esse arquivo sempre que for começar a implementar um site.
E como é esse arquivo?
Existem vários CSS Reset rolando pela Internet… Todos funcionam da mesma forma mas alguns atingem mais elementos que outros… Mas teoricamente não há diferença.
Esse aqui é o que eu uso no meu site pessoal:
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,
b, u, i, center,
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-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
:focus {
outline: 0;
}
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
Se você preferir, existe um CSS da Yahoo mesmo, chamado de YUI CSS Reset:
http://yui.yahooapis.com/2.7.0/build/reset/reset-min.css
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
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;
}
E existe um CSS Reset Reloaded criado por Eric Meyer:
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;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
Espero que tenham gostado!
E se o site ja estiver pronto?.Meu site ja esta pronto perfeito no FF, mas no chrome alterou algumas coisas, eno IE tb. Entao serviria para colocar no CSS de meu site?
obrigado a todos
Utilizo o pequeno e simples reseter a seguir:
[2]
* {
border: 0;
margin: 0;
padding: 0;
}
Valeu
thanks, very good. I always had searcihng for a code help-me with this problem, and now today i meet this!
**MENSAGEM REMOVIDA**
thanks
ahsuahhusHHSAHUHSUHuahuhsauhUH
legal esse CSS reset,
vai ser bem util no meu site
vlw
Boooa! Não conhecia esse css reset ai. Show de bola, vai ajudar bastante.
Usando o CSS reset e desenvolvendo o CSS do site baseado nele, vai evitar as dores-de-cabeça com o IE6? :S
@Sérgio
Resolver imediatamente não… Mas vai ajudar bastante… Claro que seu código precisa estar limpo e organizado. Algumas regras de CSS infelizmente vão funcionar de formas diferente pro IE e pro FF.
@Willian
Apesar de pequeno e simples seu “reseter” não contempla todas as modificações (leia-se bizarrisses) que um navegador pode alterar no seu código, e em se falando de criação cross-browser, caso você não queria ficar redefinindo todos os parametros alí descritos, é muito útil/inteligente/prático usar um reset. No seu caso você só ajeita posicionamento dos elementos. Apesar de ser a favor do KISS, tem momentos que não vale a pena simplificar tanto
Belo Post Thiago!
Utilizo o pequeno e simples reseter a seguir:
* {
border: 0;
margin: 0;
padding: 0;
}
Valeu
Excelente artigo Thiago.
Essa dica é muito boa para quem está começando a desenvolver sites usando CSS.