Pergunta

Quando IE8 é lançado, vai o trabalho seguinte código para adicionar uma folha de estilo condicional?

<!--[if IE 8]>
  <link rel="stylesheet" type="text/css" href="ie-8.0.css" />
<![endif]-->

Eu li relatos conflitantes sobre se isso funciona com o beta. Eu estou esperando que alguém pode compartilhar sua experiência. Obrigado.

Foi útil?

Solução

Ela trabalhou para mim - tanto em peculiaridades modo e no modo de cumprimento de normas. No entanto, ele não trabalho ao mudar para o modo de compatibilidade do IE8.

Outras dicas

Uma coisa a nota:

Ele faz o trabalho, MAS se você está carregando a página / site rede local (por exemplo, Intranet) ele irá carregar em IE7 modo de por padrão (update - localhost [*] é um especial caso, que não render em padrões mode)

Isso vai contra declaração original de MSFT de ir NORMAS por padrão.

por exemplo.

http://127.0.0.1/mysite/mypage.php  <-- IE8 by default (updated!)
http://localhost/mysite/mypage.php  <-- IE8 by default (updated!)
http://machinename/mysite/mypage.php  <-- IE7 by default
http://192.168.100.x/mysite/mypage.php  <-- IE7 by default
http://google.com/  <-- IE8 by default

[*] - Scott Dickens [MSFT] observou em um comentário aqui no IE Blog que localhost era um cenário especial na Intranet (muitas vezes usado para desenvolver sites da Internet), assim, o tornaria no modo de padrões por padrão.

Para testar o modo de uma página no IE8 está realmente tornando-in, você pode usar verificar as ferramentas de desenvolvimento ou usar este código bookmarklet (só funciona no IE8):

javascript:
var vMode=document.documentMode;
var rMode='IE5 Quirks Mode';
if(vMode==8){
  rMode='IE8 Standards Mode';
} else if(vMode==7){
  rMode='IE7 Strict Mode';
}
alert('Rendering in: '+rMode);

Ferramentas / Configurações de exibição de compatibilidade desmarque todos eles

Obrigado por sua ajuda. Descobri a solução, aparentemente, o problema foi ter cada folha estilo usar seu próprio atributo título. Uma vez eu levei o título off todos, mas a folha de estilo principal, nenhum prob.

Este é um problema estranho única para IE8 - e embora eu tenho dito seu suposto trabalho dessa forma, algo a ver com "Stylesheet Preferências" - ele só serve para criar problemas já que a solução exige que você remova o título que poderia ser útil quando scripting, etc -. quando você precisa chamar a folha de estilo

Em qualquer caso, não tenho certeza se este é um bug, ou seu suposto ser assim, mas eu espero que investiga Microsoft ainda mais.

Graças

Por que incomoda mesmo escrevendo uma folha de estilo separada para IE8?

Se você já depurado para IE7, você pode forçar o IE8 no modo de compatibilidade, e, assim, exibir seu código como se IE8 foram IE7.

Tudo que você tem que fazer é colocar isso logo abaixo da tag de abertura head. Em qualquer outro lugar e não vai funcionar.

E então isso é uma meia hora ou assim menos trabalho em média por projeto, não depuração intensa para IE8 necessário!

Mesmo Msn.com faz isso? - meio irônico, eh

escreveu um post sobre isso recentemente: http://blog.sankhomallik.com/2009/11/16/stop-wasting-time-debugging- on-IE8-quando-você-dont-ter-à-or-get-IE8-to-se comportam como-IE7 /

IE8 torna bastante agradável em comparação com IE7, eu tenho de estilo para IE6, IE7 e IE8; No começo eu pensei comentários condicionais não estavam trabalhando para o IE8 depois de um pouco de experimentação eu encontrei algumas regras não foram beeing aplicado por IE8 só porque eu precisava para colocar a classe ancestral ou pai em primeiro lugar, por exemplo, eu tinha uma classe como

.niceclass {some:properties;more:properties;}

funcionou única se eu mudei para algo como:

.parentclass .niceclass {some:properties;more:properties;} ou

#parentselector .niceclass {some:properties;more:properties;}

btw em meu IE8 somente css eu tenho apenas uma regra primordial, o resto é processado quase como firefox, embora isso não me fazer deixar FF de qualquer maneira!.

Pela minha parte eu queria usar bordas arredondadas usando css. O IE8 no Vista não suporta tal. E uma vez que os gráficos eram de modo que as bordas arredondadas iria mostrar uma sombra arredondado bom também, a página parecia terrível no IE8.

Eu tentei usar comentários condicionais, mas sem sucesso, o IE8 não iria avaliar a expressão if IE e, portanto, não incluem a folha de estilo externa.

Então, eu tinha um olhar para colocá-lo em modo de peculiaridades / compatibilidade, no entanto, isso ainda não funcionou como os hacks CSS eu tinha usado o fez não trabalho para o IE8.

Por último, mas pelo menos eu encontrei um hack CSS trabalho que irá processar a página corretamente quando em modo de compatibilidade.

* + html #test[id] { color:lime } 

Agora, eu não sei se isso funciona para o IE7 ou abaixo, assim você teria pelo menos três diferentes hacks para cada IE liberar você quer apoio, e.e.

* + html #test,
    html+body #test,
    * html body #test
    { color:lime }

Eu me pergunto o que o próximo regressão da Internet Exploiter atenta para nós.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top