Enquanto o movimento em prol do HTML5 ganha cada vez mais força, o que podemos falar do CSS3?
Para a nossa felicidade, Opera, Safari, Google Chrome, Firefox e (o polêmico) IE9 já apresentam (ou apresentarão, no caso do IE) bom suporte às principais propriedades do CSS3. Mas vale ressaltar que, assim como o HTML5 o CSS3 é apenas um “draft“… os navegadores suportam algumas características através de expressões proprietárias (então a cautela neste caso também é necessária).
Isto pode (e deve) ser encarado de uma forma muito negativa. Mas temos
que entender que estas expressões proprietárias estão calcadas em
especificações do W3C, ou seja, é bem provável que o border-radius
do Firefox (realizado através da expressão -moz-border-radius
) irá
reproduzir um efeito similar ao border-radius
do Chrome (que já
segue a especificação do W3C). A dica que eu dou é a seguinte: Utilize
Graceful Degradation, ou seja, escreva seus estilos com
CSS3, e vá adicionando exceções para suportar os demais
navegadores que não suportam certas propriedades.
Vamos ao que interessa?!
O site CSS3 Please! The Cross-Browser CSS3 Rule Generator nos
ensina como fazer border-radius
, box-shadow
, transform
,
transition
, text-shadow
e font-face
; de forma muito simples
e prática, e que funcione no Safari, Chrome, Opera e Firefox (e
algumas propriedades até no IE).
É uma referência muito interessante que deve estar sempre disponível
para quando bater aquela dúvida. Podemos reparar que são (na maioria dos
casos) expressões proprietárias, mas que atingem a experiência obtida
utilizando uma expressão standard (como no caso do border-radius
).
O CSS3 Please! já quebra um bom galho na utilização de alguns recursos
do CSS3. Mas no caso do IE, algumas propriedades como
border-radius
e box-shadow
(que no meu caso são as propriedades
mais “salva-vidas” da linguagem) não possuem alternativas.
O site CSS3 PIE apresenta uma forma de utilizar estas propriedades sem precisar utilizar PNGs com transparência. Através de um arquivo .htc importado na folha de estilo, podemos fazer com que o IE (do 6 ao 8 ) possa compreender as seguintes propriedades:
Já é uma boa economia de trabalho, não?
Recentemente o Tableless fez um excelente post sobre como usar a jQuery como meio de fazer alguns navegadores lidarem da melhor forma possível com novos recursos do CSS3 e HTML5. Sempre fui muito a favor da visão deles e dessa vez não será diferente.
Nivelar por baixo pode ser uma excelente forma de garantir acessibilidade. Mas não é pecado “vendermos” um pouco de “boa experiência” para nossos usuários.
Enriquecer a experiência do usuário não é crime… esquecer da acessibilidade sim.