Com surgimento de uma variedade de navegadores, surgiu o problema de como as CSS são interpretadas individualmente por estes navegadores. Com os padrões web, em que são propostas regras para a garantia da interoperabilidade das diferentes tecnologias de linguagem de marcação, não se permite uso de Hacks com características inválidas, pois não seguem o padrão normatizado pelo W3C. Como alternativa, propõe-se o estabelecimento de padrões de método e qualidade, soluções conciliadoras que abranjam variados tipos de navegadores com o uso de sintaxes amigáveis e códigos-fonte seguros que garantam resultados dentro dos padrões da web.
3. Os Problemas
Validação do CSS no W3C
Renderização Crossbrowser
Métodos distintos com resultados não
confiáveis
Navegadores em outros SOs
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
5. Comentários Condicionais
Prós:
Mantém o CSS original inalterado e válido*
Permite escrever um CSS customizado voltado para os
Internet Explorer
Pode-se criar um arquivo diferente para cada versão do IE
Contras:
Tempo gasto para fazer duas o mais folhas de estilos
Adições no HTML, que apesar de comentadas são grandes
Arquivo separado pode ser difícil de manter
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
6. Comentários Condicionais: Exemplos
Para Alternar o CSS
Para Alternar o Conteúdo
Alguns Exemplos
De Utilização
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
7. CSS Hacks
Prós:
Tudo no mesmo arquivo, é fácil ver onde as correções
acontecem e ao que se aplicam.
Mais compacto, pode ser aplicado facilmente no
atributo style (IE6 e IE7).
Contras:
Alterações no CSS original, possivelmente comprometendo
a validação.
Utilização de caracteres inválidos, que dificultam a
compreensão.
Em alguns casos são necessários para outros navegadores
que não o Internet Explorer.
Baseados em bugs!
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
8. CSS Hacks: Exemplos
Por Atributos Por Seletores
(Não Validados) (Validados, porém complexos)
Por Atributos (Inline)
(CSS+HTML não validam)
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
10. Do Leiaute ao Código fonte
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
11. Problemas de Renderização
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
12. Utilização de Ajustes
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
13. Validação do código fonte
Validação do CSS
CSS Validation Service
(jigsaw)
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
14. Validação do código fonte
CSS
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
15. Validação do código fonte
CSS
CSS HACKS
( Somente os Validados )
e/ou Comentários Condicionais
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
16. Tempo gasto na validação
Aumento de Custos,
devido ao tempo gasto
Possibilidade de Retrabalho
Desperdício de tempo
excessivo
Apesar de todo o tempo
gasto, pode não haver êxito no
Desenvolvimento.
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
18. Proposta de Solução
Utilizar um script capaz de inserir classes na TAG
<HTML> ou <BODY>
Classes que identifiquem a família do navegador
A versão do navegador
Sistema operacional do usuário <html class=“ie ie9 win js“>
ou
<body class=“ie ie9 win js“>
Se o Javascript está habilitado
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
22. CSS BROWSER SELECTOR: Vantagens
Fácil de ser Implementado
Habilidade de escrever códigos CSS específicos
Possibilidade de resolver problemas em versões
em outros SOs (Inclusive Mobile)
Herança de CSS devido a classe que identifica a
família do Navegador
Fim dos CSS HACKS!
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
23. CSS BROWSER SELECTOR: Exemplos
Exemplo de uso
do
CSS BROWSER SELECTOR
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
24. CSS BROWSER SELECTOR: Exemplos
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
25. CSS BROWSER SELECTOR: Resultados
Todos os navegadores herdam propriedades da classe mãe
Os navegadores Internet Explorer 6 e superiores, são
completamente diferentes em relação a classe mãe, herdando
somente um atributo
O Internet Explorer 7/8 herda da classe que identifica a
familia do Internet Explorer o atributo “height”.
Os restantes dos atributos são completamente diferentes em
relação ao elemento inicial e ao herdado pela família;
Os demais (Opera, Firefox, Safari...) herdam todos os
atributos da classe mãe, modificando somente o atributo
“background-color”;
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
27. Conclusão: CSS Limpo sem Hacks
IE
CSS c/
CSS Browser Selector
Todos
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
28. Conclusão: Interoperabilidade de CSS
Browsers
Interoperabilidade
de
SOs Mídias
(TV, Móvel, Web)
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
29. Conclusão: Futuro
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
30. Conclusão: Futuro
O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB