Estou tendo problemas para conseguir
<!--[if !IE]>
trabalhar. Gostaria de saber se é porque eu tenho isso no meu documento
<!doctype html>
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]> <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]> <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="">
<!--<![endif]-->
Quando eu adiciono
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
para o meu cabeçalho, por algum motivo, não funciona. No entanto, se eu adicionar
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
para a página html real (no cabeçalho) funciona. Alguma sugestão? Felicidades
Atualizar para minha pergunta
Ok, quando removi
<!-->
, verifiquei apenas o IE que estava funcionando, mas agora de volta ao FF, o no-ie.css também havia sido aplicado ao FF. Então eu adicionei de volta no <!-->
e removi o / (e o adicionei no modelo principal para que o cms não o adicionasse novamente) e tudo está funcionando novamente no FF, mas agora a folha de estilo está sendo aplicada ao IE! Então eu tentei
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
e
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
E isso não funcionou. Basicamente, estou tentando fazer com que esta página funcione http://css-tricks.com/examples/ResponsiveTables/responsive.php, mas mova o css para uma folha de estilo. Certamente tem que ser simples. o que estou perdendo? Prefiro não usar o JQuery se não precisar. Felicidades
fonte
<!-->
imediatamente após o<!--[if !IE]>
Respostas:
Nota: Esses comentários condicionais não são mais suportados a partir do IE 10 em diante .
fonte
Navegadores que não sejam o IE tratam as instruções condicionais como comentários, porque estão dentro de tags de comentários.
No entanto, quando você segmenta um navegador que NÃO é o IE, é necessário usar 2 comentários, um antes e um após o código. O IE ignorará o código entre eles, enquanto outros navegadores o tratarão como código normal. A sintaxe para direcionar navegadores não-IE é, portanto:
Nota: Esses comentários condicionais não são mais suportados a partir do IE 10 em diante .
fonte
<!--[if !IE]-->IE ignores this<!--[endif]-->
está oculta do IE! (7, 8 ou 9)Uma atualização se alguém ainda chegar a esta página, perguntando-se por que a segmentação por exemplo não funciona. O IE 10 em diante não oferece mais suporte a comentários condicionais. No site oficial da EM:
Consulte aqui para obter mais detalhes: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Se você precisar desesperadamente direcionar ie, você pode usar este código jquery para adicionar uma classe ie e, em seguida, usar a classe .ie em seu css para direcionar navegadores.
Atualização: $ .browser não está disponível após o jQuery 1.9. Se você atualizar para o jQuery acima de 1.9 ou já o usar, poderá incluir o script de migração do jQuery após o jQuery para adicionar partes ausentes: Plug-in de migração do jQuery
Como alternativa, verifique este tópico para possíveis soluções alternativas: erro browser.msie após a atualização para o jQuery 1.9.1
fonte
Eu uso isso e funciona:
fonte
A sintaxe recomendada pela Microsoft para "comentários" condicionais revelados no nível inferior é a seguinte:
Estes não são comentários, mas funcionam corretamente.
fonte
Antes de tudo, a sintaxe correta é:
Tente este post: http://www.quirksmode.org/css/condcom.html e http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Outra coisa que você pode fazer:
Verifique o navegador com jQuery:
Nesse caso, você pode alterar as regras css para alguns elementos ou adicionar uma nova referência de link css:
leia isto: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
fonte
Você precisa colocar um espaço para o
<!-- [if !IE] -->
bloco My css completo da seguinte maneira, pois o IE8 é terrível com consultas de mídiafonte
!IE
técnica mencionado aqui vai efectivamente executar o bloco comentou para o IE 7 a 10.Para segmentar usuários do IE:
Para segmentar todos os outros:
Os Comentários Condicionais podem ser detectados apenas pelo Internet Explorer, todos os outros Navegadores o encadearam como Comentários normais.
Para atingir o IE 6,7, etc. Você deve usar "Maior que igual" ou "Menor que (igual)" na instrução If. Como isso.
Maior que ou igual:
Menos do que:
Fonte: mediacollege.com
fonte
Isso é até o IE9
Isto é para depois do IE9
fonte
Para o navegador IE:
Para todos os navegadores que não sejam do IE:
Para todos os IE maiores que 8 ou todos os navegadores que não sejam do IE:
fonte
Comentário condicional é um comentário iniciado com o
<!--[if IE]>
qual não pôde ser lido por nenhum navegador, exceto o IE.a partir de 2011 O comentário condicional não é suportado no formulário IE 10, conforme anunciado pela Microsoft naquele tempo https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
A única opção para usar os comentários condicionais é solicitar que o IE execute o site como IE 9, que suporta os comentários condicionais.
você pode escrever seus próprios arquivos css e / ou js, ou seja, apenas e outros navegadores não o carregarão ou executarão.
esse trecho de código mostra como fazer o IE 10 ou 11 executar ie-only.css e ie-only.js, que contém códigos personalizados para solucionar problemas de compatibilidade do IE.
fonte
Caso você esteja trabalhando com o IE 10 ou superior, conforme mencionado em http://tanalin.com/en/articles/ie-version-js/, os comentários condicionais não são mais suportados. Você pode consultar https://gist.github.com/jasongaylord/5733469 como um método alternativo, cuja versão do Trident também é verificada no navigator.userAgent. Isso também foi verificado caso o navegador esteja funcionando no modo de compatibilidade.
fonte
Isso funciona para mim em todos os navegadores maiores que a versão 6 (IE7, 8, 9, 10, etc., Chrome 3 até o que é agora e FF ver 3 até o que é agora):
fonte
Estou usando este javascript para detectar o navegador IE
fonte
Obrigado Fernando68, eu usei isso:
fonte
Eu recebo este código funciona no meu navegador:
Nota para este código: Suporte a Shiv HTML5 e Respond.js IE8 de elementos HTML5 e consultas de mídia
fonte