SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
LEARNING TO LOVE IE6




                                              Bruno Abrantes
                                     bruno@brunoabrantes.com
Monday, March 30, 2009
Toda a tabela em http://www.w3schools.com/browsers/browsers_stats.asp




    OK, “LEARNING TO LIVE WITH IE6”

Monday, March 30, 2009
PÚBLICO-ALVO


                 média, lidaremos com 20% de utilizadores com IE6.
    • Na

    • Este valor pode aumentar ou diminuir consoante os casos de
       uso específicos.

                         de começar a desenvolver, estudar o público-alvo!
    • Antes




Monday, March 30, 2009
Imagem retirada de http://alistapart.com




            PROGRESSIVE ENHANCEMENT

Monday, March 30, 2009
PROGRESSIVE
                              ENHANCEMENT

    • Origina            do princípio de Graceful Degradation;

                 entanto, segue a direcção oposta;
    • No

    • Deve  ser providenciada uma experiência “normal” para
       browsers datados. Isto não significa que devamos
       comprometer a usabilidade da página;



Monday, March 30, 2009
PROGRESSIVE
                         ENHANCEMENT


    •A   ideia é providenciar pequenos requintes visuais e funcionais
       a utilizadores com browsers actuais;

    • No   entanto, os utilizadores de browsers datados devem poder
       ver e utilizar a página sem qualquer problema.




Monday, March 30, 2009
PROGRESSIVE
                                          ENHANCEMENT

    • Understanding                            Progressive Enhancement
       http://www.alistapart.com/articles/understandingprogressiveenhancement




    • Progressive                     Enhancement with CSS
       http://www.alistapart.com/articles/progressiveenhancementwithcss




    • Progressive                     Enhancement with JavaScript
       http://www.alistapart.com/articles/progressiveenhancementwithjavascript




Monday, March 30, 2009
STRICT DOCTYPES

    • Para  minimizar os problemas com IE6, devem ser utilizados
       Doctypes do tipo Strict:
            <!DOCTYPE HTML PUBLIC quot;-//W3C//DTD HTML 4.01//ENquot; quot;http://www.w3.org/TR/html4/
        •
            strict.dtdquot;>


            <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/
        •
            xhtml1/DTD/xhtml1-strict.dtdquot;>



          assegura que o rendering seja feito em Standards-
    • Isto
       Compliant Mode ao invés do defeituoso Quirks Mode.


Monday, March 30, 2009
Mais informação em http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx




         CONDITIONAL COMMENTS

Monday, March 30, 2009
CONDITIONAL COMMENTS


    • Estescomentários só funcionam nas várias versões IE/
       Windows, e são ignorados pelos outros browsers.

    • Podem    ser utilizados para incluir folhas de estilo ou scripts que
       se destinem a corrigir bugs no IE.




Monday, March 30, 2009
TEST EARLY, TEST OFTEN!


    • Nunca   deixar a fase de testes com os vários browsers para a
       etapa final de desenvolvimento.

          desenvolvimento deve ser iterativo e complementado em
    •O
       cada iteração por uma fase de testes.




Monday, March 30, 2009
IE BUGS
                         Que nos levam à loucura.

Monday, March 30, 2009
BOX MODEL


    • Um          dos mais comuns bugs de IE6 e anteriores;

              IE6 calcula a largura da caixa como sendo 100px;
    •O

                 restantes browsers calculam uma largura de 124px;
    • Os




Monday, March 30, 2009
BOX MODEL


    •A   melhor solução é garantir que o IE faz render da página em
       Standards-Compliant Mode;

    • Pode-se, contudo, evitar  usar padding em blocos de layout e
       utilizá-lo directamente nos elementos dentro do bloco.




Monday, March 30, 2009
DOUBLE-MARGIN BUG



                um elemento é floated, numa direcção o IE6 dobra o
    • Quando
       valor da margem nessa direcção.

                         exemplo, a margem real seria 40px.
    • Neste




Monday, March 30, 2009
DOUBLE-MARGIN BUG


    • Uma    solução comum é adicionar a regra display: inline ao
       elemento, mas isto é pouco prático (por exemplo, não é
       possível definir width ou height num elemento inline);

    • Pode               tentar-se adicionar padding ao elemento pai;

    • Em         vez de utilizar margin-right, utilizar padding-right, se possível.



Monday, March 30, 2009
MIN-WIDTH / MIN-HEIGHT


             de largura e altura mínimas simplesmente não são
    • Regras
       suportadas pelo IE6 (!);

    • No    entanto, se um elemento tiver uma altura fixa e o
       conteúdo crescer para lá dessa altura, o IE estica o contentor
       (!!)



Monday, March 30, 2009
MIN-WIDTH / MIN-HEIGHT


    • Este  hack toma partido do facto de o IE6 não entender nem a
       regra min-height nem a instrução !important.

    • Estabelece   uma altura mínima e uma altura automática para os
       restantes browsers, deixando o IE6 com uma altura estática.




Monday, March 30, 2009
STEPDOWN


    • Acontece           quando vários elementos são floated na mesma
       direcção.

    •O    IE6 adiciona um efeito de line break após cada elemento
       block-level.




Monday, March 30, 2009
STEPDOWN



    • Uma     solução é garantir que os elementos que são floated são
       inline-level (display: inline força esta regra);

    • Outra              solução é alterar o line-height do elemento pai para 0.




Monday, March 30, 2009
HOVER STATES


          IE6 apenas suporta a pseudo-class :hover em elementos
    •O
       âncora (<a>), e, mesmo assim, só se estes tiverem definido o
       atributo href.

    • Existe  uma solução proprietária, mas o melhor a fazer é não
       aplicar esta pseudo-class a elementos que não a suportam.



Monday, March 30, 2009
SUPORTE PARA PNG
                          TRANSPARENTES



    •O    IE6 não suporta PNGs de 24-bits, ou seja, com fundo
       transparente.




Monday, March 30, 2009
SUPORTE PARA PNG
                             TRANSPARENTES

    • Existem              duas boas soluções:

                         recurso a um ficheiro .htc (Twin Helix: IE PNG Fix)
    • Com

         com recurso a Javascript (24 Ways: Superslight e
    • Ou
       PNGHack on Google Code)



Monday, March 30, 2009
HASLAYOUT

                 é uma regra interna do IE6 aplicada a elementos,
    • hasLayout
       que determina como estes são posicionados em relação a
       outros elementos.

    • Activar  o hasLayout costuma resolver alguns problemas de
       posicionamento.

    •A    solução mais comum é adicionar a regra height: 1%. Se o
       elemento pai não tiver altura definida, esta regra não afecta a
       dimensão do elemento e despoleta o hasLayout.

Monday, March 30, 2009
FIM!

Monday, March 30, 2009

Mais conteúdo relacionado

Destaque

Javascript - Princípios da linguagem e utilização de frameworks
Javascript - Princípios da linguagem e utilização de frameworksJavascript - Princípios da linguagem e utilização de frameworks
Javascript - Princípios da linguagem e utilização de frameworksBruno Abrantes
 
Formação Web Standards - Dia 1
Formação Web Standards - Dia 1Formação Web Standards - Dia 1
Formação Web Standards - Dia 1Bruno Abrantes
 
No widget is an island
No widget is an islandNo widget is an island
No widget is an islandBruno Abrantes
 
The New Frontend Toolchain
The New Frontend ToolchainThe New Frontend Toolchain
The New Frontend ToolchainBruno Abrantes
 
yalancıbahar
yalancıbaharyalancıbahar
yalancıbaharsarpkan
 

Destaque (8)

Learning To Love IE6
Learning To Love IE6Learning To Love IE6
Learning To Love IE6
 
Javascript - Princípios da linguagem e utilização de frameworks
Javascript - Princípios da linguagem e utilização de frameworksJavascript - Princípios da linguagem e utilização de frameworks
Javascript - Princípios da linguagem e utilização de frameworks
 
VACO Raleigh Team
VACO Raleigh TeamVACO Raleigh Team
VACO Raleigh Team
 
Formação Web Standards - Dia 1
Formação Web Standards - Dia 1Formação Web Standards - Dia 1
Formação Web Standards - Dia 1
 
No widget is an island
No widget is an islandNo widget is an island
No widget is an island
 
The New Frontend Toolchain
The New Frontend ToolchainThe New Frontend Toolchain
The New Frontend Toolchain
 
Workshop js
Workshop jsWorkshop js
Workshop js
 
yalancıbahar
yalancıbaharyalancıbahar
yalancıbahar
 

Semelhante a Learning To Love IE6

Ebook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressEbook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressDaniel Paz
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Nelson Glauber Leal
 
Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Nelson Glauber Leal
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do frameworkAlexandre Cardoso
 
Palestra - 9 Regras Que Valem Ouro
Palestra - 9 Regras Que Valem OuroPalestra - 9 Regras Que Valem Ouro
Palestra - 9 Regras Que Valem OuroLuiz Agner
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web App10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web AppTatiane Aguirres Nogueira
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interaçãoHumberto Cepep
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Guga Alves
 
COMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLCOMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLRenato Melo
 
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Thiago Dieb
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...As Zone
 
Formação Web Standards - Dia 1
Formação Web Standards - Dia 1Formação Web Standards - Dia 1
Formação Web Standards - Dia 1guestaa73e1a
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMSFelipe Perin
 
Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaPaula Santana
 

Semelhante a Learning To Love IE6 (20)

Html 5 datainfo
Html 5   datainfoHtml 5   datainfo
Html 5 datainfo
 
Ebook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressEbook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPress
 
Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023Novidades incríveis do Android em 2023
Novidades incríveis do Android em 2023
 
Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023Desenvolvimento Moderno de Aplicações Android 2023
Desenvolvimento Moderno de Aplicações Android 2023
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do framework
 
Palestra - 9 Regras Que Valem Ouro
Palestra - 9 Regras Que Valem OuroPalestra - 9 Regras Que Valem Ouro
Palestra - 9 Regras Que Valem Ouro
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web App10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web App
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013
 
COMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLCOMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTML
 
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
Fisl 16 – WordPress vs Hacker – descubra o que ainda é preciso saber para bl...
 
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
Fisl 16 - WordPress vs Hacker - Descubra o que ainda é preciso saber para bl...
 
Revista programar 12
Revista programar 12Revista programar 12
Revista programar 12
 
Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3
 
Formação Web Standards - Dia 1
Formação Web Standards - Dia 1Formação Web Standards - Dia 1
Formação Web Standards - Dia 1
 
Blogger rapido
Blogger rapidoBlogger rapido
Blogger rapido
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMS
 
Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de moda
 

Mais de Bruno Abrantes

Plano de Investigação
Plano de InvestigaçãoPlano de Investigação
Plano de InvestigaçãoBruno Abrantes
 
Índice Enquadramento Teórico
Índice Enquadramento TeóricoÍndice Enquadramento Teórico
Índice Enquadramento TeóricoBruno Abrantes
 
SAPO Campus - P3 Presentation
SAPO Campus - P3 PresentationSAPO Campus - P3 Presentation
SAPO Campus - P3 PresentationBruno Abrantes
 
Sapo Campus - Investigação e Mundo Empresarial
Sapo Campus - Investigação e Mundo EmpresarialSapo Campus - Investigação e Mundo Empresarial
Sapo Campus - Investigação e Mundo EmpresarialBruno Abrantes
 

Mais de Bruno Abrantes (6)

Plano de Investigação
Plano de InvestigaçãoPlano de Investigação
Plano de Investigação
 
Índice Enquadramento Teórico
Índice Enquadramento TeóricoÍndice Enquadramento Teórico
Índice Enquadramento Teórico
 
SAPO Campus - Aula 5P
SAPO Campus - Aula 5PSAPO Campus - Aula 5P
SAPO Campus - Aula 5P
 
SAPO Campus - P3 Presentation
SAPO Campus - P3 PresentationSAPO Campus - P3 Presentation
SAPO Campus - P3 Presentation
 
SAPO Campus - P3
SAPO Campus - P3SAPO Campus - P3
SAPO Campus - P3
 
Sapo Campus - Investigação e Mundo Empresarial
Sapo Campus - Investigação e Mundo EmpresarialSapo Campus - Investigação e Mundo Empresarial
Sapo Campus - Investigação e Mundo Empresarial
 

Último

GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaa
GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaaGESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaa
GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaayasminlarissa371
 
MARANATA - 19_04_2024.pptx | Maranata 2024
MARANATA - 19_04_2024.pptx | Maranata 2024MARANATA - 19_04_2024.pptx | Maranata 2024
MARANATA - 19_04_2024.pptx | Maranata 2024CarolTelles6
 
Simulado Enem Bernoulli-Primeiro dia.pdf
Simulado Enem Bernoulli-Primeiro dia.pdfSimulado Enem Bernoulli-Primeiro dia.pdf
Simulado Enem Bernoulli-Primeiro dia.pdfAnnaCarolina242437
 
Simulado Bernoulli Enem_2-Primeiro dia.pdf
Simulado Bernoulli Enem_2-Primeiro dia.pdfSimulado Bernoulli Enem_2-Primeiro dia.pdf
Simulado Bernoulli Enem_2-Primeiro dia.pdfAnnaCarolina242437
 
Antonio Pereira_Vale+comunidade_set a dez_2023.pdf
Antonio Pereira_Vale+comunidade_set a dez_2023.pdfAntonio Pereira_Vale+comunidade_set a dez_2023.pdf
Antonio Pereira_Vale+comunidade_set a dez_2023.pdfAnnaCarolina242437
 
I.1 Boas Práticas fitossanitarias.pptxCC
I.1 Boas Práticas fitossanitarias.pptxCCI.1 Boas Práticas fitossanitarias.pptxCC
I.1 Boas Práticas fitossanitarias.pptxCCJudite Silva
 
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...AnnaCarolina242437
 
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdf
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdfAVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdf
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdfAnnaCarolina242437
 
I.2 Meios de Proteção das culturass.pptx
I.2 Meios de Proteção das culturass.pptxI.2 Meios de Proteção das culturass.pptx
I.2 Meios de Proteção das culturass.pptxJudite Silva
 

Último (9)

GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaa
GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaaGESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaa
GESTÃO FINANceiraaaaaaaaaaaaaaaaaaaaaaaaaa
 
MARANATA - 19_04_2024.pptx | Maranata 2024
MARANATA - 19_04_2024.pptx | Maranata 2024MARANATA - 19_04_2024.pptx | Maranata 2024
MARANATA - 19_04_2024.pptx | Maranata 2024
 
Simulado Enem Bernoulli-Primeiro dia.pdf
Simulado Enem Bernoulli-Primeiro dia.pdfSimulado Enem Bernoulli-Primeiro dia.pdf
Simulado Enem Bernoulli-Primeiro dia.pdf
 
Simulado Bernoulli Enem_2-Primeiro dia.pdf
Simulado Bernoulli Enem_2-Primeiro dia.pdfSimulado Bernoulli Enem_2-Primeiro dia.pdf
Simulado Bernoulli Enem_2-Primeiro dia.pdf
 
Antonio Pereira_Vale+comunidade_set a dez_2023.pdf
Antonio Pereira_Vale+comunidade_set a dez_2023.pdfAntonio Pereira_Vale+comunidade_set a dez_2023.pdf
Antonio Pereira_Vale+comunidade_set a dez_2023.pdf
 
I.1 Boas Práticas fitossanitarias.pptxCC
I.1 Boas Práticas fitossanitarias.pptxCCI.1 Boas Práticas fitossanitarias.pptxCC
I.1 Boas Práticas fitossanitarias.pptxCC
 
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...
Exame De Suficiencia Para Obtencao Do Titulo De Especialista Em Medicina De F...
 
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdf
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdfAVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdf
AVALIA_CHUM_EFI_5 ANO_AV_2SEMESTRE_2023.pdf
 
I.2 Meios de Proteção das culturass.pptx
I.2 Meios de Proteção das culturass.pptxI.2 Meios de Proteção das culturass.pptx
I.2 Meios de Proteção das culturass.pptx
 

Learning To Love IE6

  • 1. LEARNING TO LOVE IE6 Bruno Abrantes bruno@brunoabrantes.com Monday, March 30, 2009
  • 2. Toda a tabela em http://www.w3schools.com/browsers/browsers_stats.asp OK, “LEARNING TO LIVE WITH IE6” Monday, March 30, 2009
  • 3. PÚBLICO-ALVO média, lidaremos com 20% de utilizadores com IE6. • Na • Este valor pode aumentar ou diminuir consoante os casos de uso específicos. de começar a desenvolver, estudar o público-alvo! • Antes Monday, March 30, 2009
  • 4. Imagem retirada de http://alistapart.com PROGRESSIVE ENHANCEMENT Monday, March 30, 2009
  • 5. PROGRESSIVE ENHANCEMENT • Origina do princípio de Graceful Degradation; entanto, segue a direcção oposta; • No • Deve ser providenciada uma experiência “normal” para browsers datados. Isto não significa que devamos comprometer a usabilidade da página; Monday, March 30, 2009
  • 6. PROGRESSIVE ENHANCEMENT •A ideia é providenciar pequenos requintes visuais e funcionais a utilizadores com browsers actuais; • No entanto, os utilizadores de browsers datados devem poder ver e utilizar a página sem qualquer problema. Monday, March 30, 2009
  • 7. PROGRESSIVE ENHANCEMENT • Understanding Progressive Enhancement http://www.alistapart.com/articles/understandingprogressiveenhancement • Progressive Enhancement with CSS http://www.alistapart.com/articles/progressiveenhancementwithcss • Progressive Enhancement with JavaScript http://www.alistapart.com/articles/progressiveenhancementwithjavascript Monday, March 30, 2009
  • 8. STRICT DOCTYPES • Para minimizar os problemas com IE6, devem ser utilizados Doctypes do tipo Strict: <!DOCTYPE HTML PUBLIC quot;-//W3C//DTD HTML 4.01//ENquot; quot;http://www.w3.org/TR/html4/ • strict.dtdquot;> <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/ • xhtml1/DTD/xhtml1-strict.dtdquot;> assegura que o rendering seja feito em Standards- • Isto Compliant Mode ao invés do defeituoso Quirks Mode. Monday, March 30, 2009
  • 9. Mais informação em http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx CONDITIONAL COMMENTS Monday, March 30, 2009
  • 10. CONDITIONAL COMMENTS • Estescomentários só funcionam nas várias versões IE/ Windows, e são ignorados pelos outros browsers. • Podem ser utilizados para incluir folhas de estilo ou scripts que se destinem a corrigir bugs no IE. Monday, March 30, 2009
  • 11. TEST EARLY, TEST OFTEN! • Nunca deixar a fase de testes com os vários browsers para a etapa final de desenvolvimento. desenvolvimento deve ser iterativo e complementado em •O cada iteração por uma fase de testes. Monday, March 30, 2009
  • 12. IE BUGS Que nos levam à loucura. Monday, March 30, 2009
  • 13. BOX MODEL • Um dos mais comuns bugs de IE6 e anteriores; IE6 calcula a largura da caixa como sendo 100px; •O restantes browsers calculam uma largura de 124px; • Os Monday, March 30, 2009
  • 14. BOX MODEL •A melhor solução é garantir que o IE faz render da página em Standards-Compliant Mode; • Pode-se, contudo, evitar usar padding em blocos de layout e utilizá-lo directamente nos elementos dentro do bloco. Monday, March 30, 2009
  • 15. DOUBLE-MARGIN BUG um elemento é floated, numa direcção o IE6 dobra o • Quando valor da margem nessa direcção. exemplo, a margem real seria 40px. • Neste Monday, March 30, 2009
  • 16. DOUBLE-MARGIN BUG • Uma solução comum é adicionar a regra display: inline ao elemento, mas isto é pouco prático (por exemplo, não é possível definir width ou height num elemento inline); • Pode tentar-se adicionar padding ao elemento pai; • Em vez de utilizar margin-right, utilizar padding-right, se possível. Monday, March 30, 2009
  • 17. MIN-WIDTH / MIN-HEIGHT de largura e altura mínimas simplesmente não são • Regras suportadas pelo IE6 (!); • No entanto, se um elemento tiver uma altura fixa e o conteúdo crescer para lá dessa altura, o IE estica o contentor (!!) Monday, March 30, 2009
  • 18. MIN-WIDTH / MIN-HEIGHT • Este hack toma partido do facto de o IE6 não entender nem a regra min-height nem a instrução !important. • Estabelece uma altura mínima e uma altura automática para os restantes browsers, deixando o IE6 com uma altura estática. Monday, March 30, 2009
  • 19. STEPDOWN • Acontece quando vários elementos são floated na mesma direcção. •O IE6 adiciona um efeito de line break após cada elemento block-level. Monday, March 30, 2009
  • 20. STEPDOWN • Uma solução é garantir que os elementos que são floated são inline-level (display: inline força esta regra); • Outra solução é alterar o line-height do elemento pai para 0. Monday, March 30, 2009
  • 21. HOVER STATES IE6 apenas suporta a pseudo-class :hover em elementos •O âncora (<a>), e, mesmo assim, só se estes tiverem definido o atributo href. • Existe uma solução proprietária, mas o melhor a fazer é não aplicar esta pseudo-class a elementos que não a suportam. Monday, March 30, 2009
  • 22. SUPORTE PARA PNG TRANSPARENTES •O IE6 não suporta PNGs de 24-bits, ou seja, com fundo transparente. Monday, March 30, 2009
  • 23. SUPORTE PARA PNG TRANSPARENTES • Existem duas boas soluções: recurso a um ficheiro .htc (Twin Helix: IE PNG Fix) • Com com recurso a Javascript (24 Ways: Superslight e • Ou PNGHack on Google Code) Monday, March 30, 2009
  • 24. HASLAYOUT é uma regra interna do IE6 aplicada a elementos, • hasLayout que determina como estes são posicionados em relação a outros elementos. • Activar o hasLayout costuma resolver alguns problemas de posicionamento. •A solução mais comum é adicionar a regra height: 1%. Se o elemento pai não tiver altura definida, esta regra não afecta a dimensão do elemento e despoleta o hasLayout. Monday, March 30, 2009