2012-03-20 9 views
16

Projektuję responsywną stronę, która będzie wyglądać inaczej na urządzeniach mobilnych. Mam trzy oddzielne zapytania o media w moim css plus zapytanie o ekrany siatkówki.Retina iPad Specific CSS

/** 768PX IPAD PORTRAIT **/ 
@media screen and (max-width: 768px) {} 

/** 480PX IPHONE LANDSCAPE **/ 
@media screen and (max-width: 480px) {} 

/** 320PX PORTRAIT **/ 
@media screen and (max-width: 320px) {} 

/** RETINA IMAGES **/ 
@media all and (-webkit-min-device-pixel-ratio: 2) {} 

Gdy iPad jest w trybie portretowym, będzie uzyskać wersję mobilną, ale gdy jest w trybie poziomym będzie dostać regularną wersję serwisu.

Mój problem polega na tym, że teraz, wraz z "nowym iPadem" i wyświetlaczem Retina, niektóre obrazy siatkówki nie są odpowiednio dopasowane do wersji iPadów krajobrazowych siatkówki. Globalna siatka siatkówki przegrywa normalne css i prawdopodobnie tak jest.

Na przykład w wersji mobilnej mam obraz tła wyśrodkowany na ekranie, ale na zwykłej stronie jest wyrównany do lewej.

Ktoś wie, w jaki sposób można kierować tylko obrazy siatkówki na iPad tylko w CSS?

Dzięki

Edit: To jest to, co było zabawy z, ale nie wydają się działać:

@media screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) and (-webkit-min-device-pixel-ratio: 2) {} 
+0

Nowy iPad to 2048 na 1536 ... spróbuj tego i stosunek pikseli: 2 – Connor

+0

Dzięki za odpowiedź, wypróbowany, nie, nadal nie działa. @media ekran i (min. szerokość urządzenia: 1536px) i (maksymalna szerokość urządzenia: 2048px) i (orientacja: pozioma) i (-webkit-min-urządzenie-stosunek pikseli: 2) {} – user127181

+0

Czy widzisz moja odpowiedź, a używasz prawdziwego iPada3, prawda? – Connor

Odpowiedz

4

Spróbuj:

@media only screen 
    and (min-device-width: 1536px) 
    and (max-device-width: 2048px) 
    and (orientation : landscape) 
    and (-webkit-min-device-pixel-ratio: 2) { 
     // Retina iPad specific CSS 
} 
+0

Cześć, tak, widziałem twoją odpowiedź, ale to nie działa. Używam jednak tylko symulatora iOS. Wszystkie moje inne zapytania o media działają jednak dobrze przy użyciu symulatora. Jestem zdumiony. – user127181

+0

Nie mogę sprawić, żeby to działało na mojej siatkówce ipad. ignoruje go za każdym razem. Jeśli zmienię to na ekran @media i (maksymalna szerokość: 960px) i (orientacja: pozioma) i (-webkit-device-pixel-ratio: 2), to działa. Sprawdziłem trzykrotnie, aby upewnić się, że mój iPad jest w rzeczywistości siatkówką na iPada (i nie zostałem oszukany), a numer modelu powraca jako legit siatkówka Retina. Myśli? – MatthewLee

+0

@MatthewLee Hmmm, moim zdaniem w tej chwili jest to, że ma do czynienia z maksymalną szerokością w stosunku do maksymalnej szerokości urządzenia. Czy używasz iPada 3 lub 4? – Connor

13

zdobione.

Posiadałem moje zapytanie Retina w iPadzie poniżej wszystkich innych zapytań, ale musiały one być nad innymi pytaniami, zaczynając od największego do najmniejszego.

+10

Powinieneś zaakceptować swoją odpowiedź jako poprawną odpowiedź i umieścić poprawny kod, którego użyłeś, aby zawsze było odniesienie od twojego pierwszego pytania do poprawnego odpowiedz prawidłowym kodem. Dzięki. –

3

miałem ten sam problem i rozwiązać za pomocą:

@media only screen and (max-width: 960px), only screen and (max-device-width: 960px) and (-webkit-device-pixel-ratio: 1.5) 

meta rzutni używam:

content="width=device-width; initial-scale=1; maximum-scale=1" 

Nie wiem, czy jest to idealne rozwiązanie, ale działa.