2015-05-07 8 views
12

Gibt es eine @ media-Abfrage, die nur auf die iOS-Geräte gerichtet ist?CSS-Medienabfrageziel nur iOS-Geräte

Beispiel:

@media (min-device-width:320px) and (max-device-width:768px) { 
#nav { 
yada:yada; 
} 
} 

würde dies auch das Verhalten der Seite, auf Android-Geräten mit dieser Breite Perspektiven verändern? Oder bin ich falsch mit diesem letzten

+0

alle Geräte nicht nur IOS – icode03

+0

Warum Sie diese brauchen? Sie können den User Agent mit Javascript bekommen und je nach Ergebnis können Sie eine spezielle CSS-Datei einbinden. – webcodecs

+0

http://stackoverflow.com/questions/3839809/detect-iphone-ipad-purely-by-css – Prime

Antwort

5

Wie oben erwähnt, ist die kurze Antwort nein. Aber ich brauche etwas Ähnliches in der App, an der ich gerade arbeite, aber die Bereiche, in denen das CSS anders sein muss, sind auf sehr spezifische Bereiche einer Seite beschränkt.

Wenn Sie wie ich sind und brauchen nicht eine ganz andere Stilvorlage zu dienen, wäre eine weitere Option sein, ein Gerät zu erkennen mit iOS in der Art und Weise in dieser Frage ist frei gewählte Antwort: Detect if device is iOS

Sobald Sie habe das iOS-Gerät erkannt Sie eine Klasse in den Bereich hinzufügen können Sie Targeting verwenden Javascript (z. B. die document.getElementsByTagName("yourElementHere")[0].setAttribute("class", "iOS-device");, jQuery, PHP oder was auch immer, und Stil, Klasse, um die bereits bestehenden Sheet entsprechend verwenden.

.iOS-device { 
     style-you-want-to-set: yada; 
} 
23

Ja, Sie können das.

@supports (-webkit-overflow-scrolling: touch) { 
    /* CSS specific to iOS devices */ 
} 

@supports not (-webkit-overflow-scrolling: touch) { 
    /* CSS for other than iOS devices */ 
} 

YMMV.

Es funktioniert, weil nur Mobile Safari implementiert es: https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling

+1

Sehr glatte Idee, funktioniert gut auf iPod und iPad, danke! – TetraDev

+0

Aber das funktioniert auch auf Android, oder? – NoobishPro

+0

-webkit-overflow-scrolling nur in Safari unterstützt, siehe https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling –