Acredito que qualquer web designer concordaria comigo se eu falasse que o que mais prejudica o nosso tempo de trabalho é o fato de ficar verificando a compatibilidade de um navegador para outro. Principalmente no IE(k) 6. São tantos filtros, que o CSS que deveria ficar organizado, acaba ficando uma bagunça por conta de hacks e filters. Isso, sem falar dos scripts js nos headers do (X)HTML. Tem gente que opita pelos condicionais, mas mesmo assim é ruim.
Por isso, para não perder tanto tempo com esses probleminhas, antes de começar a escrever o CSS do site, eu uso os “resets”. Para quem não sabe, serve para zerar ou definir algo específico para funcionar em toda a página, como fonte, tamanhos, cores etc, que são coisas mais comuns na página. Como teste, faça um arquivo .html somente com as tags padrão e defina o estilo do body com borda de 2px e vermelha. Visualize no FF e no IE. Percebeu que o posicionamento está diferente? Por causa dessas diferenças que no desenvolvimento da página agente acaba tendo que usar os hacks. (A altura também ficou diferente, mas é porque não tem conteúdo dentro do body.)
Existem frameworks prontos com os css resets. Um exemplo é o da Yahoo! chamado Yahoo UI Reset CSS Package. Esse pacote é um pouco extenso, então vou colocar somente uma parte do código.
reset.css
[css]
*, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockote, th, td {
margin:0;
padding:0;
}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset, img, abbr, acronym {
border:0;
}
address, caption, cite, code, dfn, em, strong, th, var {
font-style:normal;
font-weight:100;
}
ol, ul {
list-style:none;
}
caption, th {
text-align:left;
}
h1, h2, h3, h4, h5, h6 {
font-size:100%;
font-weight:100;
}
q:before, q:after {
content:”;
}
/*pode-se resetar o tamanho da fonte e a família para o html todo*/
html {
font:70% Arial, Helvetica, sans-serif normal;
}
[/css]
Quanto aos outros probleminhas como seletores, transparência, width-max etc, infelizmente ainda uso filters. Mas com o reset.css, agente consegue diminuir o problemas para pelo menos a metade do que era, mas não abuse, pois usado exageradamente pode prejudicar o seu (X)HTML.