CSS Hacks – IE6, IE7, Firefox

CSS Hacks – IE6, IE7, Firefox

Infelizmente ainda tem muita gente usando Internet Explorer 6 por aí.
Nos grandes portais brasileiros, segundo as últimas pesquisas, esse número chega a perturbantes 40% dos usuários. Ou seja, o seu site precisa ser exibido corretamente no IE6. E seria fácil se o IE7 renderizasse o htm da mesma maneira, assim você faria seu código para o Firefox e precisaria de apenas um hack: que funcionasse no IE6 e IE7.

O famoso underline (‘_’) antes dos seletores (‘_width:’) resolveria. Mas isso não acontece, pois essa última versão do IE corrigiu algumas falhas na interpretação dos padrões, não aceita o hack do underline e renderiza os estilos de maneira diferente da versão anterior.

Ou seja, muitas vezes o seu layout aparece de 3 maneiras diferentes dependendo do browser onde está sendo exibido: no Firefox [e outros browsers Standards compliants], no IE7 ou no IE6.
Como isso acontece com frequência (eu já tive esse problema em vários sites) segue uma maneira simples de resolver:

Hacks específicos para cada navegador

.



Acima vocês podem ver a mesma página sendo exibida de forma diferente em cada um dos três navegadores (em cada um deles o box aparece de uma cor diferente). Isso acontece porque estou usando o seguinte código:


#box {
width:100px;
height:100px;
border:2px solid #ddd;
background-color:red; /* Todos os navegadores interpretam essa linha: Firefox, IE7 e IE6 */
*background-color:blue; /* Apenas IE7 e IE6 */
_background-color:green; /* Apenas IE6 */
}

As quatro primeiras linhas são interpretadas por todos os navegadores.
A 5ª linha, com o asterisco (‘*’) na frente do seletor, é interpretada apenas pelo IE7 e IE6, então o Firefox mantém o background vermelho.
E a 6ª linha, com o “_” na frente, é reconhecida apenas pelo IE6, então o IE7 mantém o bg blue.

Isso já resolveu muitos problemas beeem chatos.

Veja o exemplo

Veja também : CSS: Problemas comuns com internet explorer 6 e como resolvê-los

Você gostou deste post?

  • Marcelo Domiciano

    Muito bom!

  • http://www.toprated.com.br/css-hacks-para-firefox CSS Hacks para Firefox : Top rated never dies

    [...] Se tiver dúvida dê uma olhada aqui: CSS Hacks – IE6, IE7, Firefox [...]

  • Ingrid

    Esta é minha div com suas configurações.
    #menu_portifolio{
    height: auto;
    width: 128px;
    *width: 128px;
    _width: 128px;
    *padding-left: 120px;
    _padding-left: 120px;
    margin-top: 70px;
    background-image: url(images/bg_menu_portifolio.gif);
    background-repeat: repeat;
    }
    Não sei por qual motivo o IE 7 está lendo a configuração do underline que seria so para IE 6.
    Me ajude por favor.
    se tiver resposta para essa solução favor me enviar um email.

  • http://www.palpitedigital.com/como-foi-criado-o-google-chrome/ Como foi criado o Google Chrome

    [...] São vários os sites que relatam os infinitos hacks para o Internet Explorer 6, que são o terror na vida de qualquer programador web.Se não sabe do que estou falando, visite algumas destas páginas abaixo, e vai ficar surpreso.Hacks CSS para IE6 e IE7Mais Hacks para o IE e Firefox [...]

  • http://www.wendesign.com.br Derlan

    Alternativa interessante, porém não passa na validação.

  • http://www.zfoliosite.com Luiz Zamboni

    O que adianta passar na validação de “descaralha” no monitor ?…rs
    .
    A validação é uma idealização, um selo no site não deve substituir o bom senso e ser mais importantes do que a verdadeira usabilidade.

  • http://www.francisalisson.com.br Francis Alisson

    Eu estava precisando desta informação. Muito obrigado.

  • http://Seuwebsite japa

    vlw ae cara muito obrigado

  • Fábio

    Valeu amigo, vou testar no meu trabalho.

  • http://emfasededesenvolvimento Roberta

    Simples, prático e objetivo!
    Muito obrigada, estava precisando!

  • Tiago Kautzmann

    Não vejo porque o pessoal tem resistência em criar comentários condicionais para aplicar css em versões do ie6 e ie7. É mais simples, é válido segundo a w3c e não é tão oneroso assim.

  • http://www.rodrigoshiro.com.br Rodrigo Paulino

    Impressionante. Tinha de fazer um CSS para cada documento e ficar trocando por comentários condicionais, mas essa forma é impressionantemente melhor! Brigadão pela dica!

  • http://artesplasticas.art.br/wpedia/hacks-para-ie/ W-Pedia – Wikipedia Wordpress BR » Blog Archive » Hacks para IE
  • jr marciano

    Ola boa tarde,
    Estou com uma dúvida aqui com o meu site. Estou fazendo um link para direcionar para outra página, porém qdo renderizo no browser no ie 7 e 8 aparece de um jeito e no firefox aparece de outro, o que aparece no firefox é o correto.

    Gostaria de saber o motivo e como faço pra corrigir esse bug.

    abraços e parabens pelo site

    jr

  • carlos

    muitoooo bom … salvo-me :)

  • Dulce

    Olá, meu problema é o seguinte: O menu do meu site aparece nornal no internet explorer, mas simplesmente não aparece na home, quando abro ele no firefox.
    Aparece nas outras páginas, menos na home.
    Meu site é feito no wordpress. Pode me ajudar?

  • http://www.fernandosanches.info Fernando Sanches

    Amigão!

    Hack APROVADO, e novamente IE Reprovado.

    Obrigado pelo compartilhamento!

  • Victor Hugo

    Genial

  • Thiagomvnew

    estou tendo problemas com z-index!
    O ie não le e o elemento sempre fica acima do conteudo
    segue o codigo

    .wap .conteudo_geral .barra_banner .menu_banner .item_menu{
        background:#F00;
        width:145px;height:28px;
        margin-top:7px;    margin-left:-8px;
        *margin-bottom:7px;
        float:inherit;position:relative;
        border-radius:                    0px 20px 20px 0px;
        border-top-left-radius:            0px 0px;
        -moz-border-radius-topleft:        0px 0px;
        -webkit-border-top-left-radius: 0px 0px;
        behavior: url(‘http://www.jucautomotors.com.br/css/PIE.htc‘);

    }
    .wap .conteudo_geral .barra_banner .menu_banner .item_menu img{
        width:auto;height:auto;
        margin:14px 2px;
        z-index:-1;float:inherit;position:absolute;   
    }

    O erro em questão é no estilo da img.
    o z-indez não funciona

  • Robson

    muito bom…
    :D

  • Lucas Lima

    Naum servio pra mim.

  • http://kelyane.com Kelyane

    Opa! de grande ajuda. Thanks! =D