2014-04-29 20 views
5

Czy istnieje css hack dla wszystkich przeglądarek IE. Nieszczególne wersje IE.Wszystkie IE css hack

Próbowałem

@media \0screen\,screen\9 { 
    body { background: green; } 
} 

ale to nie działa w IE7 i IE11.

+0

Używanie tylko CSS? Nie. Nawet jeśli chcesz użyć jednej właściwości, wiele z nich ma różne prefiksy dla różnych wersji IE lub zupełnie inne metody ich zapisywania. Są jednak biblioteki JavaScript, które to zrobią: css3-mediaqueries-js i Respond.js – TylerH

Odpowiedz

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

więcej informacji można znaleźć tutaj: http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

UPDATE jak ElKabong wspomniano w komentarzach i będziesz czytać, a po link ..

Zauważ, że IE 10 i aż ZROBIĆ NIE obsługuje komentarzy warunkowych w ogóle, więc wydaje się, że to trochę koszmar i nie mam na to łatwego rozwiązania. Ale możesz znaleźć więcej informacji, śledząc powyższy link, a także przeczytać komentarze.

+0

To w rzeczywistości nie obsługuje wszystkich smaków IE, po tym, jak komentarze warunkowe IE 10 nie będą już obsługiwane: http://msdn.microsoft. com/en-us/library/ms537512 (v = vs.85) .aspx. Bardziej dokładnym podejściem jest użycie funkcji wykrywania funkcji w celu określenia możliwości przeglądarki i odpowiedniego zareagowania. Sprawdź nasz moderator - http://modernizr.com/ –

+0

@ ElKabong dziękuję za komentarz, nie wiedziałem tego (bluddy MS), jak tylko dostanę trochę więcej czasu, zaktualizuję odpowiedź, a także link tak naprawdę nie mówi mi, jak postępować z konkretnymi arkuszami stylów IE10 ... czy wiesz, jak to rozwiązać? – caramba

+0

Bez obaw - to jest dobre napisanie na ten temat: http://msdn.microsoft.com/en-us/magazine/hh475813.aspx. To jest kolejny zapis, który zawiera sugestie dotyczące funkcji i obsługi przeglądarek: http://tanalin.com/en/articles/ie-version-js/, możesz przetestować używając Modernizr dla jednej z tych funkcji i załadować odpowiednie zasoby. –

1

Chciałbym tylko HTML warunkowe Komentarze

<!--[if IE]> 
<style> 
    body { background: green; } 
</style> 
<![endif]--> 
+2

@ druciferre..Nie pracuję dla ie10 i ie11 .. – Praveen

+0

@Praveen, ** + 1 ** Nie wiedziałem, że ta funkcja została usunięta w IE10. –

0

No nie można zrobić wszystko od IE w jednym zapytaniu mediów jak żaden zostały znalezione/stworzony dla wszystkich wersji Internet Explorera, ale możesz podzielić go na dwie różne grupy CSS. Oto jeden sposób:

Ten działa w 8 i nowsze:

/* Internet Explorer 8+ (Media Query) */ 

@media screen\0 { 
    body { background: green; } 
} 

jak twoje to naprawdę jest hack css. IE 9 oficjalnie obsługuje zapytania o media, ale IE 8 i poniżej są oszukiwane, pozwalając im pracować poprzez hacki.

Oto jeden z IE 7 i poniżej:

/* Internet Explorer 7- (Media Query) */ 

@media screen\9 { 
    body { background: green; } 
} 

Jeśli to nie robi praca dla ciebie, spróbuj innego IE 7 jeden tutaj:

/* Internet Explorer 7- (Another Media Query) */ 

@media, { 
    body { background: green; } 
} 

Istnieje wiele sposobów na to, IE 7 włamać się.

1

Może następujące media-queries pomoże Ci:

/* <= IE 7 */ 
    @media screen\9 {} 

    /* IE 8 */ 
    @media \0screen {} 

    /* >= IE10 */ 
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {} 

Ważne: Dla IE9 i powyżej Przeczytaj ten:

https://stackoverflow.com/a/15442638

w niektórych przypadkach lepiej jest umożliwienie niektóre funkcje tylko dla następujących (innych) przeglądarek:

/* WebKit */ 
    @media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) { .selector {} } 

    /* Opera >= 12 */ 
    @media (min-resolution: .001dpcm) { _:-o-prefocus, .selector {} } 

    /* Firefox > 4 */ 
    @media screen and (min--moz-device-pixel-ratio:0) {} 

Miałem ten sam problem podczas wprowadzania pliku animacji svg. Chciałem exculde wszystkie wersje IE i użyć zamiast nich animacji gif, ponieważ żadna wersja IE nie obsługuje animowanych plików SVG.Ale spójrz na to:

http://caniuse.com/#feat=svg-smil

Jak widać w moim przypadku lepiej jest realizować animowany gif jako domyślne i używać SVG tylko dla „innych” przeglądarek wymienionych powyżej.

Znalazłem te media-zapytań na http://browserhacks.com/

0

Spróbuj tego. Jest to przetestowany z IE 7 Hack do 10 css:

@media all and (-ms-high-contrast:none) 
     { 
     .myClass { myProperty: myValues } 
     *::-ms-backdrop, .myClass { myProperty: myValues } 
     } 

to działa dobrze dla mnie;)

0

Jeśli trzeba kierować wszystkie non-ie (nie < = ie11) Przeglądarki:

@media { @media { 
    /* Your styles ... */ 
}} 

Będzie działać tylko w nowoczesnych przeglądarkach, ponieważ IE < = 11 nie obsługuje zapytań o media nester.