Mam problem ze zrozumieniem
<!--[if !IE]>
pracować. Zastanawiam się, czy to dlatego, że mam to w swoim dokumencie
<!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]-->
Kiedy dodam
<!--[if !IE]><!-->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css" />
<!--<![endif]-->
do mojego nagłówka z jakiegoś powodu nie działa. Jednak jeśli dodam
<!--[if !IE]><!-->
<style>
All my css in here
</style>
<!--<![endif]-->
do faktycznej strony html (w nagłówku) to działa. Jakieś sugestie? Twoje zdrowie
Zaktualizuj moje pytanie
Ok, kiedy usunąłem
<!-->
, sprawdziłem tylko w IE, który działał, ale teraz z powrotem w FF no-ie.css został również zastosowany do FF. Więc dodałem z powrotem do <!-->
i usunąłem / (i dodałem go do głównego szablonu, aby cms nie dodawał go z powrotem) i wszystko działa z powrotem w FF, ale teraz arkusz stylów jest stosowany w IE! Więc spróbowałem
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="https://stackoverflow.com/stylesheets/no-ie.css">
<![endif]-->
i
<!--[if !IE]> -->
<link type="text/css" rel="stylesheet" href="/stylesheets/no-ie.css">
<!-- <![endif]-->
I to nie zadziałało. Zasadniczo staram się, aby ta strona działała http://css-tricks.com/examples/ResponsiveTables/responsive.php, ale przenoszę css do arkusza stylów. Z pewnością musi to być proste. czego mi brakuje? Wolałbym nie używać JQuery, jeśli nie muszę. Twoje zdrowie
źródło
<!-->
natychmiast po<!--[if !IE]>
Odpowiedzi:
Uwaga: od wersji IE 10 te komentarze warunkowe nie są już obsługiwane .
źródło
Przeglądarki inne niż IE traktują instrukcje warunkowe jako komentarze, ponieważ są one zawarte w znacznikach komentarzy.
Jednakże, gdy celujesz w przeglądarkę, która NIE jest IE, musisz użyć 2 komentarzy, jednego przed i jednego po kodzie. IE zignoruje kod między nimi, podczas gdy inne przeglądarki będą traktować go jako normalny kod. Dlatego składnia kierowania na przeglądarki inne niż IE jest następująca:
Uwaga: od wersji IE 10 te komentarze warunkowe nie są już obsługiwane .
źródło
<!--[if !IE]-->IE ignores this<!--[endif]-->
jest ukryta przed IE! (7, 8 lub 9)Aktualizacja, jeśli ktoś nadal odwiedza tę stronę, zastanawiając się, dlaczego kierowanie ie działa. Przeglądarka IE 10 i nowsze nie obsługują już komentarzy warunkowych. Z oficjalnej strony internetowej MS:
Więcej informacji można znaleźć tutaj: http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx
Jeśli desperacko potrzebujesz kierować na np., Możesz użyć tego kodu jquery, aby dodać klasę ie do, a następnie użyć klasy .ie w swoim css, aby kierować reklamy na przeglądarki.
Aktualizacja: przeglądarka $ .browser nie jest dostępna po wersji 1.9 jQuery. Jeśli zaktualizujesz do jQuery powyżej 1.9 lub już go używasz, możesz dołączyć skrypt migracji jQuery po jQuery, aby dodać brakujące części: jQuery Migrate Plugin
Alternatywnie, sprawdź ten wątek pod kątem możliwych obejść: błąd browser.msie po aktualizacji do jQuery 1.9.1
źródło
Używam tego i działa:
źródło
Zalecana przez Microsoft składnia warunkowych „komentarzy” ujawnionych na niższym poziomie jest następująca:
To nie są komentarze, ale działają poprawnie.
źródło
Przede wszystkim właściwa składnia to:
Wypróbuj ten post: http://www.quirksmode.org/css/condcom.html i http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
Kolejna rzecz, którą możesz zrobić:
Sprawdź przeglądarkę za pomocą jQuery:
w tym przypadku możesz zmienić reguły css dla niektórych elementów lub dodać nowe odwołanie do linku css:
przeczytaj to: http://rickardnilsson.net/post/2008/08/02/Applying-stylesheets-dynamically-with-jQuery.aspx
źródło
Musisz umieścić miejsce na
<!-- [if !IE] -->
mój pełny blok css w następujący sposób, ponieważ IE8 jest okropny w przypadku zapytań o mediaźródło
!IE
Wspomniana tutaj technika faktycznie wykona skomentowany blok dla IE od 7 do 10.Aby dotrzeć do użytkowników IE:
Aby skierować reklamy do wszystkich innych:
Komentarze warunkowe mogą być wykrywane tylko przez przeglądarkę Internet Explorer, wszystkie inne przeglądarki tworzą je jako zwykłe komentarze.
Aby kierować reklamy na IE 6,7 itd., W instrukcji If należy użyć opcji „Greater Than Equal” lub „Lesser Than (Equal)”. Lubię to.
Większe lub równe:
Mniej niż:
Źródło: mediacollege.com
źródło
To jest do IE9
To dotyczy po IE9
źródło
W przeglądarce IE:
Dla wszystkich przeglądarek innych niż IE:
Dla wszystkich przeglądarek IE starszych niż 8 LUB wszystkich przeglądarek innych niż IE:
źródło
Komentarz warunkowy to komentarz zaczynający się od,
<!--[if IE]>
którego nie mogła odczytać żadna przeglądarka poza IE.od 2011 Komentarz warunkowy nie jest obsługiwany począwszy od wersji IE 10, jak zapowiadał wówczas Microsoft https://msdn.microsoft.com/en-us/library/hh801214(v=vs.85).aspx
Jedyną opcją korzystania z komentarzy warunkowych jest poproszenie IE o uruchomienie witryny jako IE 9, która obsługuje komentarze warunkowe.
możesz pisać własne pliki css i / lub js tylko dla np. a inne przeglądarki nie będą go ładować ani wykonywać.
ten fragment kodu pokazuje, jak uruchomić IE 10 lub 11 ie-only.css i ie-only.js, które zawierają niestandardowe kody do rozwiązywania problemów ze zgodnością z IE.
źródło
Jeśli pracujesz z IE 10 lub nowszym, jak wspomniano w http://tanalin.com/en/articles/ie-version-js/, warunkowe komentarze nie są już obsługiwane. Możesz odwołać się do https://gist.github.com/jasongaylord/5733469 jako alternatywnej metody, której wersja Trident jest również sprawdzana z navigator.userAgent. Sprawdzono to również w przypadku, gdy przeglądarka działa w trybie zgodności.
źródło
Działa to dla mnie we wszystkich przeglądarkach nowszych niż wersja 6 (IE7, 8, 9, 10 itd., Chrome 3 do tego, czym jest teraz, i FF w wersji 3 do tego, czym jest teraz):
źródło
Używam tego javascript do wykrywania przeglądarki IE
źródło
Dziękuję Fernando68, użyłem tego:
źródło
Ten kod działa w mojej przeglądarce:
Uwaga dotycząca tego kodu: HTML5 Shiv i Respond.js IE8 obsługują elementy HTML5 i zapytania o media
źródło