SlideShare uma empresa Scribd logo
1 de 32
Richard Duchatsch Johansen

      Cesar Augusto Cusin
OS PROBLEMAS
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
MÉTODOS
UTILIZADOS
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
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
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
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
A REALIDADE
Do Leiaute ao Código fonte




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
Problemas de Renderização




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
Utilização de Ajustes




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
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
Validação do código fonte




                              CSS




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
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
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
PROPOSTA DE
  SOLUÇÃO
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
O SCRIPT
CSS BROWSER SELECTOR




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
VANTAGENS
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
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
CSS BROWSER SELECTOR: Exemplos




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
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
CONCLUSÃO
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
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
Conclusão: Futuro




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
Conclusão: Futuro




O PROBLEMA DA UTILIZAÇÃO DE CSS HACKS PARA GARANTIA DE RESULTADOS EM DIFERENTES NAVEGADORES WEB
PERGUNTAS ?
Como evitar CSS hacks para garantir resultados em diferentes navegadores

Mais conteúdo relacionado

Semelhante a Como evitar CSS hacks para garantir resultados em diferentes navegadores

Introdução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webIntrodução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webCarlos Eduardo Kadu
 
CSS´s Dinâmicos - InfoTech 2012
CSS´s Dinâmicos - InfoTech 2012CSS´s Dinâmicos - InfoTech 2012
CSS´s Dinâmicos - InfoTech 2012André Paulovich
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScripttdc-globalcode
 
Facilitando sua vida com SASS
Facilitando sua vida com SASSFacilitando sua vida com SASS
Facilitando sua vida com SASSLarissa Carvalho
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Desenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosDesenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosVinicius Rocha Olivieri
 
Blazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browserBlazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browserGustavo Bellini Bigardi
 
A Semântica do HTML5: a web 3.0
A Semântica do HTML5: a web 3.0A Semântica do HTML5: a web 3.0
A Semântica do HTML5: a web 3.0Campus Party Brasil
 
A importância dos padrões web
A importância dos padrões webA importância dos padrões web
A importância dos padrões webDivulgrs
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal Clécio Bachini
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!ricardophp
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúClécio Bachini
 
CSS Básico - Webdesign - 2020-02
CSS Básico - Webdesign - 2020-02CSS Básico - Webdesign - 2020-02
CSS Básico - Webdesign - 2020-02Renato Melo
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebDiego Pessoa
 
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAmazon Web Services LATAM
 
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Nayara Felix
 

Semelhante a Como evitar CSS hacks para garantir resultados em diferentes navegadores (20)

Introdução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webIntrodução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento web
 
CSS´s Dinâmicos - InfoTech 2012
CSS´s Dinâmicos - InfoTech 2012CSS´s Dinâmicos - InfoTech 2012
CSS´s Dinâmicos - InfoTech 2012
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
 
Facilitando sua vida com SASS
Facilitando sua vida com SASSFacilitando sua vida com SASS
Facilitando sua vida com SASS
 
Web2.0 e Ajax
Web2.0 e AjaxWeb2.0 e Ajax
Web2.0 e Ajax
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Desenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nosDesenvolvimento de sites com xhtml e css nos
Desenvolvimento de sites com xhtml e css nos
 
Blazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browserBlazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browser
 
A Semântica do HTML5: a web 3.0
A Semântica do HTML5: a web 3.0A Semântica do HTML5: a web 3.0
A Semântica do HTML5: a web 3.0
 
A importância dos padrões web
A importância dos padrões webA importância dos padrões web
A importância dos padrões web
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal
 
Xss Desvendado!
Xss Desvendado!Xss Desvendado!
Xss Desvendado!
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - Jaú
 
CSS Básico - Webdesign - 2020-02
CSS Básico - Webdesign - 2020-02CSS Básico - Webdesign - 2020-02
CSS Básico - Webdesign - 2020-02
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da Web
 
Web Design Responsivo
Web Design ResponsivoWeb Design Responsivo
Web Design Responsivo
 
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
 
CSS Modules
CSS ModulesCSS Modules
CSS Modules
 
Arquitetura CSS
Arquitetura CSSArquitetura CSS
Arquitetura CSS
 
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
 

Como evitar CSS hacks para garantir resultados em diferentes navegadores

  • 1. Richard Duchatsch Johansen Cesar Augusto Cusin
  • 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
  • 17. PROPOSTA DE SOLUÇÃO
  • 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
  • 20. CSS BROWSER SELECTOR 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