2009-12-09 10 views
7

Szukałem i rzekomo, body:nth-of-type(1) jest używany w CSS do kierowania tylko na Safari i Google Chrome.CSS Hacks, Firefox 3.5 i Google Chrome

Lo i oto, Mozilla czyta to poprawnie. Szukałem dziesięć razy więcej, ale nic nie znalazłem, więc jestem tutaj.

Czy jest włamywacz CSS tylko do przeglądarki Google Chrome?

Odpowiedz

13

@media screen and (-webkit-min-device-pixel-ratio:0) { ... styles go here ... }

Nie ma CSS dla tylko Chrome (AFAIK), ale Chrome i Safari. Możesz rozważyć rozwiązanie Javascript.

AKTUALIZACJA 22 sty 2013: Jak wspomniano w komentarzach, może to już nie być bezpieczne. Nie mogłem znaleźć odpowiedniej alternatywy.

+0

Po dodaniu powyższego CSS, firefox i IE nie działają i nie czytają żadnego z moich CSS znajdujących się poniżej ekranu @media. Czy wiesz, co może być nie tak? – talkingD0G

+0

Właśnie dodałem kod CSS na dole strony - rozwiązałem problem. Dzięki! – talkingD0G

+0

Uratowałem mi tyłek, dziękuję ci! – swajak

11

Najlepiej, aby uniknąć tego rodzaju hacki, a zależą one od dostępności wschodzących standardów. Całkiem oczywiste, nowe standardy będą coraz częściej dostępne na większej liczbie platform w miarę upływu czasu. Innymi słowy, błędem jest zakładać, że dana przeglądarka jest [jakąś określoną przeglądarką], ponieważ ma [jakąś określoną funkcję CSS].

Odpowiedź Eric Wendelin jest dobra do kierowania na przeglądarki WebKit. Jest to także dobry sposób, aby kierować przeglądarek Gecko:

@-moz-document url-prefix() { 
    /* Gecko-specific CSS here */ 
} 

Dodaj w WebKit kierowania (dzięki Eric Wendelin):

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    /* Webkit-specific CSS here */ 
} 

Można zapewne też niezawodnie użyć „funkcja wykrywania” styl hacki CSS w ramach konstruuje się tak, aby wyizolować wersje, ponieważ już poprawnie odizolowałeś silnik i możesz bezpiecznie założyć, że rozbieżności funkcji między wersjami danego silnika nie będą się zmieniać w czasie.

Oczywiście najlepszym sposobem wyizolowania IE i jego różnych wersji jest użycie komentarzy warunkowych, które IE obsługuje dla wielu wersji.

0

Wykrywanie funkcji @supports działa teraz w przeglądarce Chrome 28 i nowszych.

/* Chrome 28+ */ 

@supports (-webkit-appearance:none) { .selector { color:red; } } 

Zamieściłem to browserhacks - więc albo go przetestować na browserhacks.com lub mojego żywego hacks CSS poligonu osobistego w http://browserstrangeness.bitbucket.org/css_hacks.html#chrome.

Jest wiele innych produktów, które opracowałem dla konkretnych nowszych wersji. Mam nadzieję, że ci się spodoba.

Powiązane problemy